Files
Agent-System/.doc/test-reports/2026-09-16-multi-intent-u8-task-generate-test-report.md
T
2026-09-16 02:24:23 +00:00

4.2 KiB
Raw Blame History

多意图 HITL U8 task generate adapter 测试报告

一、 测试背景 (Background)

U7 只在 auto_read 执行独立查询,QueryGuard 拒绝 task.run。U8 要在 confirm tier 把「查询+生成」落成 awaiting 写计划,确认后经 OwnerMux 只开放 task.run / task.run.adhoc,并用稳定幂等键避免双跑。默认 MULTI_INTENT_PLAN_TIER=legacy 仍不得落盘。

二、 测试目标 (Test Objectives)

  • confirm 话语确认前零 generate 副作用
  • 同 scope 第二活动写计划冲突
  • 确认后 mux 执行 generate,重放 StartCount=1
  • QueryGuard 继续拒绝 generate;adapter 拒绝查询 key;撤销 Denied fail closed
  • LiveTaskStarter 同幂等键重放
  • 无 PI_AGENT_RUNNER_URL 时真实 PI 记 stop-gate(SKIP,不冒充验收)
  • arch-check / -short 相关包绿

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

项 值
分支 feature/multi-intent-u8-task-generate
OS linux
账本 内存 SerialUoW + MemoryStore
Owner OwnerMux{Query: QueryGuard{Fake}, Task: TaskRunAdapter}
真实 PI PI_AGENT_RUNNER_URL 未设置 → SKIP
共享环境 不 rebuild :8080;项目 143 只读

四、 预期结果 (Expected Results)

用例 预期
legacy / auto_read 写话语 不落盘
confirm + 「查一下相关法规,然后帮我生成报价单」 awaiting,步骤 pending
第二 ClientTurn 同 scope PLAN_DECISION_CONFLICT
确认 + AdvanceEligible generate starts=1;再推进仍为 1
QueryGuard task.run PLAN_ACTION_FORBIDDEN
真实 PI 无 URL 则 SKIP

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

5.1 HandleTurn confirm

  • 测试输入:go test ./internal/app/intentflow -run 'TestHandleTurn|TestOwnerMux|TestQueryGuard' -count=1 -v
  • 实际输出:TestHandleTurnConfirmPersistsAwaitingWithoutExecute、TestHandleTurnConfirmRejectsSecondActiveWritePlan、TestHandleTurnWriteUtteranceStaysLegacyUnderAutoRead、TestQueryGuardRejectsGenerate、TestOwnerMux* PASS。完整日志:assets/2026-09-16-multi-intent-u8-task-generate/intentflow.txt
  • 评价判定:PASS。
  • 性能与耗时:8ms

5.2 Adapter / mux 闭环

  • 测试输入:go test ./internal/app -run 'TestTask|TestConfirmThenMux|TestLiveTask' -count=1 -v
  • 实际输出:TestConfirmThenMuxExecutesGenerateOnce PASS(确认前 starts=0,确认后 starts=1);TestTaskRunAdapterIdempotentExecute / RejectsQueryKey / DeniedAfterRevoke / TestLiveTaskStarterReplaysIdempotencyKey PASS;TestTaskGenerateRealPIStopGate SKIP(PI_AGENT_RUNNER_URL 未设置)。日志:assets/2026-09-16-multi-intent-u8-task-generate/app-adapter.txt
  • 评价判定:PASS(真实 PI 为 stop-gate,不计入首版冒充验收)。
  • 性能与耗时:5ms

5.3 回归与边界

  • 测试输入:go test -short ./internal/app/intentflow ./internal/app ./internal/archtest ./internal/chat ./internal/server ./internal/taskrun;./scripts/arch-check.sh --mode block
  • 实际输出:全部 ok;arch-check block: production gate passed。
  • 评价判定:PASS。
  • 性能与耗时:约 13s(含 server)

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

命令 结果
go test ./internal/app/intentflow ./internal/app ./internal/archtest PASS
go test -short ./internal/chat ./internal/server ./internal/taskrun PASS
./scripts/arch-check.sh --mode block PASS
TestTaskGenerateRealPIStopGate SKIP(无 PI_AGENT_RUNNER_URL)

未跑 go test ./internal/chat 无 -short:既有 TestChatSession_SemanticMemoryRecallAndAsyncTurnRecord flake,与 U8 无关。

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

U8 达到合入标准:核心首版 U1–U8 在默认 legacy 零行为、confirm 确认后只开放 generate adapter 的前提下可关闭。U9–U12 不阻塞首版。真实 PI 生成闭环仍待 PI_AGENT_RUNNER_URL 窗口;共享环境 schema 仍为 43,goose 45 待晋升窗口,本单元不 rebuild。