aps-agent/docs/round-67-approval-migration...

2.6 KiB
Raw Permalink Blame History

Round 67 多智能体并行实施计划

日期:2026-08-03

1. 边界

  • W67-MIGRATE 独占:server/agent_core/approval_migrate.py。
  • W67-TEST 独占:tests/golden/test_approval_migration.py。
  • 主 agent:GitNexus/Serena 门禁、契约协调、全量回归、真实运行、文档和最终审计。
  • worker 不修改彼此文件,不提交,不触碰现场数据。

2. 协议约束

  • canonical digest 复用 server.agent_core.approval_store.token_digest。
  • 迁移执行分两阶段:持有文件后端同一 .lock 完成全量 load/validate/normalize -> 单 SQLAlchemy Session 事务写入/legacy 修复 -> source digest 复核 -> commit。
  • grant 缺 pending request 时从 grant/history 重建 APPROVED request。
  • 冲突判断比较不可变身份字段;允许目标状态单调前进,禁止回退覆盖。
  • 同时检查 digest/raw-token/confirm_id 三路遗留,canonical event digest 对完整 payload 去重。
  • 缺失源文件和损坏源文件必须具有不同结果;未设置 quiesced 必须拒绝。

3. Worker 验收

W67-MIGRATE

  • token digest 正确;原 token 不落 DB。
  • JSON/schema/记录/引用预检失败关闭。
  • 目标冲突失败;一致记录幂等 skipped;合法状态前进不误报。
  • legacy raw-token 一致行原子改主键,不一致需人工处置。
  • 任一预检或后段故障均整体回滚。

W67-TEST

  • 迁移后 consume once。
  • raw token 不落库。
  • 损坏 JSON、顶层类型、三类记录非法、引用错误。
  • 目标记录不可变字段冲突、状态前进/回退。
  • 终态 request 重建、canonical event digest 近似事件、legacy raw-token 修复/冲突。
  • quiesced/锁/source digest 与后段故障整体回滚。
  • dry-run、缺失文件、幂等旧测试不回归。

4. 集成顺序

  1. 主 agent 锁定源/目标契约和错误语义。
  2. W67-MIGRATE 与 W67-TEST 分离写入并通信对齐。
  3. focused -> approval 相关 suites -> full golden。
  4. 临时 SQLite 真实迁移/消费证据与现场 hash 保护。
  5. detect_changes、文档、独立只读审计。

5. Pre-target-merge

仅形成未提交工作区与验收证据;未经授权不 commit/push/merge/release/cleanup。

6. 实际执行

  • W67-MIGRATE / W67-TEST 均因长时间无回传被关闭;两者已有工作区修改由主 agent 接管,写边界未扩散。
  • 主 agent 修复真实 ApprovalStore history 的 decidedAt 兼容、orphan grant terminal history 要求、lint 与 legacy payload 身份 blocker。
  • 最终:29 focused、74 approval、1053 full golden;计划审计与代码审计均 PASS。