Files
Agent-System/.doc/test-reports/2026-09-16-wave2-real-pi-evidence-test-report.md
T
weichenandCursor 574758a71f docs(test): archive Wave 2 U8 and full/none real-PI evidence
Close FEATURE-MATRIX evidence gaps for multi-intent U8 and workflow
full/none; release the integration slot after live PASS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 10:42:20 +00:00

5.1 KiB
Raw Blame History

Wave 2 PU4 真实 PI 补证(U8 + full/none)测试报告

一、 测试背景 (Background)

Wave 0 校准后,FEATURE-MATRIX 将 multi-intent U8 与工作流 full/none 标为证据缺口:U8 仅有 adapter 单测与 TestTaskGenerateRealPIStopGate 假 SKIP;full/none 仅有设置页矩阵,缺少真实 PI 长链。本轮在隔离 PG + 共享 data/dev/workspaces + 产品 PI Runner(MiniMax-M2.7-highspeed)上补证,不升 MULTI_INTENT_PLAN_TIER。

二、 测试目标 (Test Objectives)

  • U8:确认前零副作用 → 确认后真实 PI generate → 幂等重放 → 撤权 → PG 重启恢复 → HTTP 刷新 GET
  • full:intake 真实 PI + 跨用户 author/reviewer/approver
  • none:research 真实 PI + submit-review 403 + 阶段就绪不阻塞 + 推进 + settings 刷新
  • 发现的产品缺陷就地修复并回归;不得用 stub/SKIP 冒充 PASS

三、 测试方案与环境 (Test Plan & Environment)

项 值
OS Linux 7.0.0-31-generic
Go go test(非 -short)
隔离 PG 127.0.0.1:5434/agent_wave2_pi(schema 47)
Runner http://127.0.0.1:18865,model MiniMax-M2.7-highspeed
DATA_DIR data/dev(与容器 workspaces 绑定)
分支 feature/wave2-real-pi-evidence
用例 TestMultiIntentU8_RealPI_ConfirmGenerate_PG;TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain
证据 .doc/test-reports/assets/2026-09-16-wave2-real-pi-evidence/

本轮顺带修复:

  1. intent_plan_steps.depends_on / intent_plan_decisions.step_ids 空切片落 NULL → textArrayOrEmpty
  2. taskrun.completed 终态事件消费者误写 projection/fav → 改为登记的 notify
  3. intent.plan.step_changed 与 plan 级事件共享 (aggregate_type,id,version) 冲突 → step 使用 intent_plan_step 聚合;AdvanceEligible 全失败时不再吞错

四、 预期结果 (Expected Results)

  • U8:starts=0 直至 Advance;PI completed;重放 starts=1;Denied 后 forbidden;重启后 task.run=succeeded;HTTP GET 200
  • full/none:intake 审批通过并推进 V0.1;research 生成成功且 submit 403;readiness Ready;推进 V0.5;settings 可读

五、 实际测试结果与判定 (Actual Results & Evaluation)

用例 1:U8 真实 PI confirm generate

  • 测试输入 (Input):TEST_DATABASE_URL=…/agent_wave2_pi + runner token;go test ./internal/server -run TestMultiIntentU8_RealPI_ConfirmGenerate_PG
  • 实际输出 (Actual Output)(摘自 assets/2026-09-16-wave2-real-pi-evidence/u8-go-test.txt):
✓ [1. awaiting] plan_id=pln_79d640abce7c0f2ecf8c3726d28206a9 revision=1 starts=0
taskrun_status_transition run_id=run_1789554232489934117 status=completed
✓ [2. real PI generate] … status=completed elapsed=3m11s
✓ [3. idempotent replay] starts still 1
✓ [4. revoke] TaskRunAdapter denied
✓ [5. PG restart recovery] … status=executing
✓ [6. HTTP refresh] GET plan 486 bytes
--- PASS: TestMultiIntentU8_RealPI_ConfirmGenerate_PG (191.34s)
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):约 191s(含一次 intake PI)
  • 说明:浏览器双标签 Playwright 仍为 gated stub(web/e2e/intent-plan-cards.spec.ts);本轮签署的是 API 层刷新/重登 GET + Plans 重绑模拟 app restart,不宣称 UI 双标签已绿。

用例 2:full/none 混合真实 PI 长链

  • 测试输入 (Input):同环境;TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain(intake=full,research=none,其余文档关闭)
  • 实际输出 (Actual Output)(摘自 assets/…/fullnone-go-test.txt):
✓ [1. activate] instance=6 full=intake none=research
✓ pi-agent intake … elapsed=3m17s
✓ [2. full intake] cross-user approve complete
✓ [3. advance V0.1] ok
✓ pi-agent research … elapsed=10m22s
✓ [4. none research] generate ok; submit-review denied HTTP 403
✓ [5. readiness] none does not block
✓ [6. advance V0.5] none non-blocking PASS
✓ [7. refresh] settings still readable
--- PASS: TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain (818.64s)
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):约 818s(两次真实 PI)

六、 自动化测试套件汇总 (Test Suite Execution)

go test -short ./internal/app/intentflow ./internal/app ./internal/taskrun → PASS
go vet ./internal/app/intentflow ./internal/app ./internal/taskrun ./internal/server → PASS
go test ./internal/server -run TestMultiIntentU8_RealPI_ConfirmGenerate_PG → PASS (191s)
go test ./internal/server -run TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain → PASS (819s)

七、 测试结论与后续优化建议 (Conclusion & Next Steps)

  • PU4 证据缺口可关闭:U8 真实 PI + full/none 混合长链均 PASS;默认 MULTI_INTENT_PLAN_TIER=legacy 不升。
  • 建议:将 intent-plan-cards Playwright 双标签纳入独立 short-term;CI 夜间 RUN_PI_E2E=1 跑本两用例;合入 dev 前占槽 smoke。
  • 产品修复(nil 数组、taskrun 终态消费者、step 事件聚合)随本分支合入。