aps-agent/docs/round-15-trace-run-plan.md

4.4 KiB
Raw Permalink Blame History

第 15 轮工作计划(轻量合并版):trace_chain 接入 schedule.run

更新日期:2026-08-01

1. 本轮目标

把第 11 轮的 EvidenceItem/trace_chain 接入 _run_schedule 的 ALGO_RUN 审计路径:求解后把 run-id、引擎、策略、求解状态、时间、gap、输入版本等串成可复算证据链,随审计事件持久化;黄金测试证明 schedule.run 审计携带 traceChainHash 且可复算;矩阵 114 行「各引擎实际写入 trace_chain」落地(schedule.run 首接入)。

2. 背景和当前状态

  • 当前已完成:server/agent_core/evidence.py(EvidenceItem + trace_chain,第 11 轮,6 项测试);_run_schedule 已写 ALGO_RUN 审计(含 strategy/engine/evidence/solveStatus/time/gap)。
  • 当前缺口:evidence.py 是独立工具,未接入真实求解路径;schedule.run 审计无统一 traceChainHash。
  • 本轮为什么现在做:矩阵 114 行剩余「各引擎实际写入 trace_chain」;纯本地、低风险、与第 11 轮自然衔接。
  • Workspace preflight:第 14 轮收口(490 passed);服务 8003/5173 正常;共享脏工作区、无提交。
  • 方向分析:Q1 推荐(trace_chain 接入 schedule.run),目标续跑轮授权执行。

3. 本轮工作方向

evidence.py 独立未落地
-> _run_schedule:求解后构造 EvidenceItem[](run/algorithm/schedule-version),trace_chain → traceChainHash
-> ALGO_RUN 审计 rationale 增加 trace 摘要;版本 evidenceRefs 保留
-> 黄金测试:schedule.run 审计含 traceChainHash、可复算、变更断链
-> 矩阵 114 行注记「schedule.run 已接入」;CHANGELOG

4. 已确认决策

任务重量:

  • 档位:轻型(workflow._run_schedule 一处接入 + 黄金测试)。
  • 规模依据:单点接入(schedule.run),不改引擎/契约;风险 LOW。
  • 选择原因:矩阵 114 行剩余「各引擎实际写入 trace_chain」的首个落地点,验证 evidence.py 可用性。

P0/P1 决策(按 Q1 推荐采纳):

  • 决策 1(P0):本轮切片 = trace_chain 接入 schedule.run。
  • 决策 2(P1):不新建分支、不提交、不推送。
  • 决策 3(P1):验证深度 = 聚焦 trace 接入测试 + 全量黄金回归。

默认假设:

  • 假设 1:EvidenceItem 集合 = [schedule-version(versionId), run(run-id=schedule-version ref), algorithm(engine/strategy/status/time/gap)]。
  • 假设 2:traceChainHash 写入 ALGO_RUN 审计 rationale.trace;evidenceRefs 继续保留 schedule-version ref。
  • 假设 3:trace 摘要(chainHash/count/items 摘要)一并写入 rationale.traceSummary 供管理台查看。

未决但不阻塞:CP/GA/外部引擎各自独立写入 trace_chain(后续轮);前端 trace 展示。

5. 范围

In scope:

  • server/aps_domain/workflow.py:_run_schedule 求解后构造 evidence 链并写入 ALGO_RUN 审计(traceChainHash + traceSummary)。
  • tests/golden/test_trace_run.py(新):schedule.run 审计含 traceChainHash、可复算、元素变化断链。
  • 文档:docs/architecture/harness.md、docs/product/plan-completion-matrix.md(114 行注记)、docs/CHANGELOG.md。

Out of scope:

  • 其他引擎接入、前端 trace 展示、发布/批量路径接入。
  • 提交/推送/合并/清理用户改动。

6. 成功标准

  • 聚焦:python -m pytest -q tests/golden/test_trace_run.py -p no:cacheprovider 通过(≥3 项)。
  • 全量:python -m pytest tests/golden -q -p no:cacheprovider(固定 .venv)≥ 490。
  • ruff 干净;git diff --check 无空白错误。

7. 验证方式

  • trace 接入单测(审计含 traceChainHash、复算、断链);全量回归。

8. 关键风险

风险 影响 控制方式
trace 构造失败影响求解 业务中断 try/except 容错(trace 失败不阻断 ALGO_RUN 审计)
链哈希不稳定 测试脆弱 固定 EvidenceItem 字段;测试锁定确定性
审计 rationale 膨胀 存储 只存摘要(chainHash/count),items 存 meta 精简

9. 停止条件

  • 全量黄金测试非本轮相关回归无法快速定位时暂停。
  • 任何提交/推送/合并/清理操作停下等待授权。

10. 本轮完成定义

  • 实现、测试、文档完成;聚焦与全量通过;矩阵/CHANGELOG 回写;不提交。
  • 收口:报告主要结论、关键洞察、需要特别留意的地方。

11. 下一步

轻量合并版:主 agent 实现 + 验证 + 收口报告。