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

88 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第 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 实现 + 验证 + 收口报告。