# 第 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. 本轮工作方向 ```text 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 实现 + 验证 + 收口报告。