docs(test): archive PU8 U9–U12 flags scaffolding report
Record default-off flag gates, unit evidence, and FEATURE-MATRIX partial status. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
|
||||
| owner | task | branch | worktree | mutex | status |
|
||||
|-------|------|--------|----------|-------|--------|
|
||||
| Cursor | 2026-09-16-pu8-u9-u12-flags | feature/pu8-u9-u12-flags | /tmp/wt-pu8 | intent-plan | done |
|
||||
| Cursor | 2026-09-16-full-backlog-override | docs/override-nogo-full-backlog | - | architecture-docs | in_progress |
|
||||
| Cursor | 2026-09-16-gitea-nightly-docker-datadir | fix/gitea-nightly-docker-datadir | - | ci | done |
|
||||
| Cursor | 2026-09-16-gitea-nightly-host-tools | fix/gitea-nightly-host-tools | - | ci | done |
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "PU8-U10 mutate — 获批后任务契约"
|
||||
status: planned
|
||||
status: in_progress
|
||||
created: 2026-09-16
|
||||
updated: 2026-09-16
|
||||
owner: TBD
|
||||
branch: feature/pu8-u10-mutate
|
||||
owner: Cursor
|
||||
branch: feature/pu8-u9-u12-flags
|
||||
mutex: intent-plan
|
||||
go_no_go: go
|
||||
flag: MULTI_INTENT_U10_MUTATE
|
||||
@@ -12,7 +12,7 @@ flag: MULTI_INTENT_U10_MUTATE
|
||||
|
||||
# PU8-U10 mutate
|
||||
|
||||
**go/no-go**:no-go。独立 flag;高风险动作绑定 expected revision + 显式确认 + 执行前再授权;不依赖 U9。
|
||||
**go/no-go**:GO(覆盖授权)。独立 flag 默认 off;脚手架 dry-run + expected revision 门禁;不依赖 U9。
|
||||
|
||||
## 负例
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "PU8-U11 docgov action — 获批后任务契约"
|
||||
status: planned
|
||||
status: in_progress
|
||||
created: 2026-09-16
|
||||
updated: 2026-09-16
|
||||
owner: TBD
|
||||
branch: feature/pu8-u11-docgov
|
||||
owner: Cursor
|
||||
branch: feature/pu8-u9-u12-flags
|
||||
mutex: docgov
|
||||
go_no_go: go
|
||||
flag: MULTI_INTENT_U11_DOCGOV
|
||||
@@ -12,4 +12,4 @@ flag: MULTI_INTENT_U11_DOCGOV
|
||||
|
||||
# PU8-U11 docgov
|
||||
|
||||
**go/no-go**:no-go。独立 flag/mutex;按钮与自然语言同一 owner command;项目 143 只读纪律不变。
|
||||
**go/no-go**:GO(覆盖授权)。独立 flag 默认 off;脚手架 dry-run + revision 门禁;项目 143 只读纪律不变。
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "PU8-U12 workflow/run-control — 获批后任务契约"
|
||||
status: planned
|
||||
status: in_progress
|
||||
created: 2026-09-16
|
||||
updated: 2026-09-16
|
||||
owner: TBD
|
||||
branch: feature/pu8-u12-workflow-run-control
|
||||
owner: Cursor
|
||||
branch: feature/pu8-u9-u12-flags
|
||||
mutex: workflow
|
||||
go_no_go: go
|
||||
flag: MULTI_INTENT_U12_RUN_CONTROL
|
||||
@@ -12,4 +12,4 @@ flag: MULTI_INTENT_U12_RUN_CONTROL
|
||||
|
||||
# PU8-U12 workflow/run-control
|
||||
|
||||
**go/no-go**:no-go。独立 flag;双标签确认/取消仅一成功;投影停机时权威 GET 仍正确;回滚后计划可读/取消/finalize。
|
||||
**go/no-go**:GO(覆盖授权)。独立 flag 默认 off;脚手架 dry-run;双标签确认/取消与投影权威仍待 live 接线。
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "PU8-U9 segment proposal — 获批后任务契约"
|
||||
status: planned
|
||||
status: in_progress
|
||||
created: 2026-09-16
|
||||
updated: 2026-09-16
|
||||
owner: TBD
|
||||
branch: feature/pu8-u9-segment-proposal
|
||||
owner: Cursor
|
||||
branch: feature/pu8-u9-u12-flags
|
||||
mutex: intent-plan
|
||||
go_no_go: go
|
||||
flag: MULTI_INTENT_U9_SEGMENT
|
||||
@@ -12,7 +12,7 @@ flag: MULTI_INTENT_U9_SEGMENT
|
||||
|
||||
# PU8-U9 segment proposal
|
||||
|
||||
**go/no-go**:no-go。规则无法判断时才出 segment proposal;超时/越界 fail closed;非 U10–U12 默认前置。
|
||||
**go/no-go**:GO(覆盖授权)。脚手架:`MULTI_INTENT_U9_SEGMENT` 默认 off;开启后 stub fail-closed(malformed/timeout/越界)。规则无法判断时才出 segment proposal;非 U10–U12 默认前置。
|
||||
|
||||
## 安全 stop gate
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ mutex: architecture-docs
|
||||
3. [ ] P2 IAM inventory + 410 + R13
|
||||
4. [ ] P3 Playwright intent-plan 双标签
|
||||
5. [ ] P4 PU6 + PU7
|
||||
6. [ ] P5 PU8 U9→U12
|
||||
6. [x] P5 PU8 U9→U12(flag 脚手架:`feature/pu8-u9-u12-flags`;见 [报告](../../test-reports/2026-09-16-pu8-u9-u12-flags-test-report.md);未合 dev)
|
||||
7. [ ] P6 SWBOOT-00…09(10 stub)
|
||||
8. [ ] P7 FAV 增量
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: "P5 PU8 U9–U12 独立 flag 脚手架"
|
||||
status: done
|
||||
created: 2026-09-16
|
||||
updated: 2026-09-16
|
||||
owner: Cursor
|
||||
branch: feature/pu8-u9-u12-flags
|
||||
worktree: /tmp/wt-pu8
|
||||
mutex: intent-plan
|
||||
---
|
||||
|
||||
# P5 PU8 U9–U12 独立 flag 脚手架
|
||||
|
||||
## 目标
|
||||
|
||||
为多意图扩面 U9–U12 落地独立 env flag(默认 OFF)与 stub/dry-run 端口,不升 `MULTI_INTENT_PLAN_TIER`。
|
||||
|
||||
## 范围
|
||||
|
||||
- `MULTI_INTENT_U9_SEGMENT` / `U10_MUTATE` / `U11_DOCGOV` / `U12_RUN_CONTROL`
|
||||
- U9 segment proposal port + fail-closed stub
|
||||
- U10–U12 dry-run adapters + `BuildOwnerMux` 门控
|
||||
- 单测证明默认 off 与 enable 路径不 panic
|
||||
|
||||
## 非目标
|
||||
|
||||
- 真实 LLM 分段 / 升 tier / 合入 `dev`
|
||||
- 真实 docgov/workflow 副作用写路径
|
||||
|
||||
## 步骤
|
||||
|
||||
1. [x] 独立 flags + `.env.example`
|
||||
2. [x] segment proposal + expansion adapters + mux 门控
|
||||
3. [x] Assemble `BuildOwnerMux` 接线
|
||||
4. [x] 单测 + 测试报告
|
||||
5. [x] push(不合 `dev`)
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 四 flag 默认 off;开 flag 不升 PlanTier
|
||||
- [x] flag off ≡ legacy(无 LLM proposal、无新 adapters)
|
||||
- [x] flag on:U9 fail-closed;U10–U12 dry-run/guarded
|
||||
- [x] 报告归档
|
||||
|
||||
## 相关链接
|
||||
|
||||
- Contracts: [u9](../long-term/2026-09-16-pu8-u9-segment-proposal-contract.md) … [u12](../long-term/2026-09-16-pu8-u12-workflow-run-control-contract.md)
|
||||
- Test report: [../../test-reports/2026-09-16-pu8-u9-u12-flags-test-report.md](../../test-reports/2026-09-16-pu8-u9-u12-flags-test-report.md)
|
||||
@@ -49,7 +49,7 @@
|
||||
|------|----------|------|----------|------|---------------------|-------|
|
||||
| 意图识别 L1 | 18 类 Intent、三分支消解、写/只读分流、双标签 `DOC_BUSY`、intent 纯依赖边界 | done | non_blocker | [intent-recognition](../system-design/intent-recognition/);[审计](../audit/2026-09-13-conversation-intent-runtime-state.md);[报告](../test-reports/2026-09-13-conversation-intent-runtime-state-test-report.md);[双标签](../test-reports/assets/2026-09-15-conversation-intent-dual-tab/live.json);[U1](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)–[U3](../test-reports/2026-09-15-multi-intent-u3-intentflow-pg-test-report.md) | **边界 before**:含 U9–U12 叙事混入 → **after**:U9–U12 迁至「多意图扩面」行。关闭:纯依赖边界回归即重开 | `intent` |
|
||||
| 多意图持久计划(U1–U8 基线) | app/intentflow 生命周期、HITL、默认 `legacy`、U1–U8 代码与安全基线 | done | non_blocker(默认 legacy) | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)–[U8](../test-reports/2026-09-16-multi-intent-u8-task-generate-test-report.md);[Wave2 真 PI](../test-reports/2026-09-16-wave2-real-pi-evidence-test-report.md) | U8 已签。**Playwright 双标签**:覆盖 no-go 后实施中(见总控);升 `confirm/full` 另开 | `intent-plan` |
|
||||
| 多意图扩面(U9–U12) | U9 LLM 分段实验;U10 mutate;U11 docgov;U12 workflow/run-control | planned | deferred_enhancement | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[go/no-go GO](../ops/research/2026-09-16-wave3-pu6-pu8-go-no-go.md);[总控](../ops/short-term/2026-09-16-full-backlog-override.md) | **2026-09-16 覆盖授权 GO**:分项独立 flag;默认 legacy tier | `intent-plan` |
|
||||
| 多意图扩面(U9–U12) | U9 LLM 分段实验;U10 mutate;U11 docgov;U12 workflow/run-control | partial | deferred_enhancement | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[go/no-go GO](../ops/research/2026-09-16-wave3-pu6-pu8-go-no-go.md);[总控](../ops/short-term/2026-09-16-full-backlog-override.md);[flags 脚手架](../test-reports/2026-09-16-pu8-u9-u12-flags-test-report.md) | **脚手架已落地**:四独立 flag 默认 off;U9 stub fail-closed;U10–U12 dry-run。未升 PlanTier;真实 PI/live adapter 后续 | `intent-plan` |
|
||||
| 对话 / ctxmgr baseline | 多轮上下文、刷新/重登/重启恢复、授权同集正文与计数、U10 端口化停止扩面 | done | non_blocker | [multi-turn](../system-design/multi-turn-dialogue/);[刷新审计](../audit/2026-09-13-chat-history-refresh-disappears.md);[U10](../test-reports/2026-09-15-chatlog-contextasm-u10-test-report.md);[门禁 B3](../test-reports/2026-09-16-chat-refresh-gate-test-report.md)(项目 6359) | **before**:语义摘要误标 D5 混入 → **after**:摘要迁「语义摘要 D3」;D7 数据治理独立。U10 停止扩面 | `chat` |
|
||||
| 语义摘要(D3) | 授权后可见集合上的语义摘要;shadow → 可选替换 deterministic | planned | deferred_enhancement | [chat-agent-p6-backlog](../backlog/chat-agent-p6-backlog.md);[go/no-go GO](../ops/research/2026-09-16-wave3-pu6-pu8-go-no-go.md);[pu6](../ops/long-term/2026-09-16-pu6-semantic-summary-contract.md) | **覆盖授权 GO**:`SEMANTIC_SUMMARY_SHADOW` 默认 off | `chat` |
|
||||
| 对话数据治理(D7) | 留存/删除口径、库·备份·日志控制、敏感字段加密边界 | deferred | deferred_enhancement(违规则升 blocker) | [计划](../remediation/2026-09-16-feature-matrix-production-readiness-plan.md) Scope Boundaries | 先数据分类与现状盘点;确认当前基线违规 → 立即写 gap-matrix | `chat` |
|
||||
|
||||
@@ -1,22 +1,70 @@
|
||||
# PU8 U9–U12 独立 flag 测试报告
|
||||
# PU8 U9–U12 独立 flag 脚手架 测试报告
|
||||
|
||||
## 一、 测试背景 (Background)
|
||||
覆盖 no-go 全量 backlog 实施。
|
||||
|
||||
P5 覆盖授权后需为 U9–U12 提供分项独立 flag 与最小端口脚手架。默认必须 OFF,且不得升 `MULTI_INTENT_PLAN_TIER`;flag off 行为等于当前 legacy。
|
||||
|
||||
## 二、 测试目标 (Test Objectives)
|
||||
见计划对应章节。
|
||||
|
||||
- 四 flag 默认 off;env 开启互不耦合 PlanTier
|
||||
- U9:默认 disabled;开启后 malformed/timeout/越界 fail closed;正常路径不 panic
|
||||
- U10–U12:默认不注册 adapters;开启后 dry-run/revision 门禁可用且不 panic
|
||||
- 既有 intentflow 回归仍 PASS
|
||||
|
||||
## 三、 测试方案与环境 (Test Plan & Environment)
|
||||
Go unit / flag default off。
|
||||
|
||||
| 项 | 值 |
|
||||
|----|----|
|
||||
| OS | linux |
|
||||
| 分支 | `feature/pu8-u9-u12-flags`(自 `origin/dev@776b2b5`) |
|
||||
| Go | `go test` 单元层 |
|
||||
| 后端 | stub dry-run(无真实 LLM / 无领域写副作用) |
|
||||
| 证据 | `.doc/test-reports/assets/2026-09-16-pu8-u9-u12-flags/` |
|
||||
|
||||
## 四、 预期结果 (Expected Results)
|
||||
默认 off;开启路径 fail-closed 或 shadow。
|
||||
|
||||
| 场景 | 预期 |
|
||||
|------|------|
|
||||
| 空 env | 四 flag false;PlanTier=legacy |
|
||||
| U9 off | `SEGMENT_PROPOSAL_DISABLED` |
|
||||
| U9 on + 坏 schema / 超时 / 越界 | fail closed |
|
||||
| U10–U12 off | `BuildOwnerMux` 不挂 Mutate/DocGov/RunControl |
|
||||
| U10–U12 on | dry-run Execute 成功;缺 revision → `PLAN_ACTION_VERSION_CONFLICT` |
|
||||
| 开 flag | PlanTier 仍为 legacy |
|
||||
|
||||
## 五、 实际测试结果与判定 (Actual Results & Evaluation)
|
||||
- Verdict: PASS(单元)
|
||||
|
||||
### 5.1 Expansion flags / segment / dry-run
|
||||
|
||||
- **测试输入**:`go test ./internal/app/intentflow -run 'TestExpansion|TestActiveSegment|TestStubSegment|TestBuildOwner|TestDryRun|TestPlanTierIndependentOfExpansion' -count=1 -v`
|
||||
- **实际输出**:见 [expansion-flags.txt](./assets/2026-09-16-pu8-u9-u12-flags/expansion-flags.txt)。8 用例全部 PASS。
|
||||
- **评价判定**:PASS
|
||||
- **性能与耗时**:约 9ms
|
||||
|
||||
### 5.2 intentflow 全包回归
|
||||
|
||||
- **测试输入**:`go test ./internal/app/intentflow -count=1`
|
||||
- **实际输出**:`ok`(见 [intentflow-summary.txt](./assets/2026-09-16-pu8-u9-u12-flags/intentflow-summary.txt))
|
||||
- **评价判定**:PASS
|
||||
- **性能与耗时**:约 13ms
|
||||
|
||||
### 5.3 app 包(含 BuildOwnerMux 接线)
|
||||
|
||||
- **测试输入**:`go test -short ./internal/app -count=1`
|
||||
- **实际输出**:`ok`(见 [app-short.txt](./assets/2026-09-16-pu8-u9-u12-flags/app-short.txt))
|
||||
- **评价判定**:PASS
|
||||
- **性能与耗时**:约 16ms
|
||||
|
||||
## 六、 自动化测试套件汇总 (Test Suite Execution)
|
||||
见各 worktree `go test` 输出。
|
||||
|
||||
| 命令 | 结果 |
|
||||
|------|------|
|
||||
| `go test ./internal/app/intentflow -count=1` | PASS |
|
||||
| `go test -short ./internal/app -count=1` | PASS |
|
||||
| `go vet ./internal/app/intentflow ./internal/app` | PASS(无输出) |
|
||||
|
||||
本轮为 flag/端口脚手架验收,使用 stub dry-run;未升 tier,未 rebuild `:8080`,未跑真实 PI。
|
||||
|
||||
## 七、 测试结论与后续优化建议 (Conclusion & Next Steps)
|
||||
默认 flag off;不升 MULTI_INTENT_PLAN_TIER。
|
||||
|
||||
脚手架达到分支交付标准(push `feature/pu8-u9-u12-flags`,**不合 `dev`**)。后续:U9 真实 PI eval;U10–U12 分项 live adapter + 授权负例;仍禁止默认升 `MULTI_INTENT_PLAN_TIER=full`。
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ok chat-agent-system/internal/app 0.016s
|
||||
@@ -0,0 +1,18 @@
|
||||
=== RUN TestExpansionFlagsDefaultOff
|
||||
--- PASS: TestExpansionFlagsDefaultOff (0.00s)
|
||||
=== RUN TestExpansionFlagsEnvOn
|
||||
--- PASS: TestExpansionFlagsEnvOn (0.00s)
|
||||
=== RUN TestActiveSegmentProposerDisabledByDefault
|
||||
--- PASS: TestActiveSegmentProposerDisabledByDefault (0.00s)
|
||||
=== RUN TestStubSegmentProposerFailClosed
|
||||
--- PASS: TestStubSegmentProposerFailClosed (0.01s)
|
||||
=== RUN TestBuildOwnerMuxFlagOffNoExpansion
|
||||
--- PASS: TestBuildOwnerMuxFlagOffNoExpansion (0.00s)
|
||||
=== RUN TestBuildOwnerMuxEnablePathsNoPanic
|
||||
--- PASS: TestBuildOwnerMuxEnablePathsNoPanic (0.00s)
|
||||
=== RUN TestDryRunAdapterRejectsForeignKeys
|
||||
--- PASS: TestDryRunAdapterRejectsForeignKeys (0.00s)
|
||||
=== RUN TestPlanTierIndependentOfExpansionFlags
|
||||
--- PASS: TestPlanTierIndependentOfExpansionFlags (0.00s)
|
||||
PASS
|
||||
ok chat-agent-system/internal/app/intentflow 0.009s
|
||||
@@ -0,0 +1 @@
|
||||
ok chat-agent-system/internal/app/intentflow 0.013s
|
||||
Reference in New Issue
Block a user