3.2 KiB
3.2 KiB
Round 70 多智能体并行实施计划:审批数据库权威 Clock / TTL / CAS
日期:2026-08-04 状态:
PLAN AUDIT: PASS原则:写边界互斥;测试智能体不得直接修改实现文件;主 agent 负责最终集成和门禁。
1. 依赖图
W70-DISCOVERY
├─ W70-CLOCK
├─ W70-SCHEMA
└─ W70-TEST-DESIGN
↓
Main integration
↓
focused regression
↓
independent audit/fixes
↓
full golden + runtime + detect_changes
W70-DISCOVERY 已完成:确认 MySQL DDL 当前为 FLOAT;本机 Docker daemon 不可用且无 mysql client;DatabaseApprovalStore LOW impact,ApprovalRequestRecord HIGH impact。
2. Worker 边界
W70-CLOCK
- 写:
server/agent_core/approval_db_store.py - 不写:models、migration、tests、Harness/API
- 交付:dialect-aware transaction clock;同 session DB now;request CAS expiry;grant consume/expire;fail-closed 错误分类。
- 自检:approval clock/store focused tests、Ruff、compileall。
W70-SCHEMA
- 写:
server/db/models.py - 新建:
server/db/migrations/versions/20260804_01_approval_database_clock.py - 不写:approval store 逻辑、tests、API
- 交付:六个 epoch 字段 MySQL DOUBLE variant;upgrade/downgrade;新 revision;InnoDB/索引/FK 不漂移。
- 自检:MySQL/SQLite DDL 编译、migration upgrade/downgrade、Ruff、compileall。
W70-TEST
- 新建:
tests/golden/test_approval_database_clock.py - 必要时写:
tests/golden/test_approval_database_store.py - 不写:生产代码、migration、docs
- 交付:TTL 边界、应用时钟偏移无权威性、DB clock 失败关闭、approve/expire、consume/expire、事务回滚、MySQL DOUBLE/SQL 编译。
- 自检:新测试 + 现有 approval database/migration/store/harness 回归。
Main agent
- 写:Round 70 文档、
plan.md、完成矩阵、CHANGELOG;必要的窄集成修复需先 impact。 - 负责:合并审阅、全量回归、数据保护、服务健康、GitNexus reindex/detect_changes、独立只读审计。
3. 集成策略
- W70-SCHEMA 先提供 revision/type 合同,W70-CLOCK 只引用新 required revision,不接触 migration。
- W70-TEST 可先基于约定接口写测试;最终由主 agent 对齐具体私有函数名。
- Worker 之间不得互相修改对方文件;如发现接口不一致,通过消息交给主 agent 集成。
- 任何修改 Harness/API/文件 backend 的需求视为扩界,停止并重新 impact。
4. 最终验收
- 本地合同全部通过后,结论为
R67-B2 LOCAL PASS / EXTERNAL MYSQL PENDING。 - 无真实 MySQL 8、多节点、时钟偏移、网络/HA 故障注入证据时,完成矩阵保持 Partial external。
- 最终审计必须区分 SQLite 合同、MySQL 方言编译和真实 MySQL 环境三种证据层级。
5. Pre-target-merge gate
本轮明确不 commit/merge。未来若获授权,主 agent 必须先报告:
- HIGH impact 模型变更和迁移风险;
- 数据库时间、TTL、CAS 与事件原子性证据;
- SQLite 与真实 MySQL 的验收边界;
- 全量回归、detect_changes 和未关闭外部风险;
并等待用户确认后才能进入 target merge。