79 lines
3.2 KiB
Markdown
79 lines
3.2 KiB
Markdown
|
|
# Round 70 多智能体并行实施计划:审批数据库权威 Clock / TTL / CAS
|
|||
|
|
|
|||
|
|
> 日期:2026-08-04
|
|||
|
|
> 状态:`PLAN AUDIT: PASS`
|
|||
|
|
> 原则:写边界互斥;测试智能体不得直接修改实现文件;主 agent 负责最终集成和门禁。
|
|||
|
|
|
|||
|
|
## 1. 依赖图
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
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. 集成策略
|
|||
|
|
|
|||
|
|
1. W70-SCHEMA 先提供 revision/type 合同,W70-CLOCK 只引用新 required revision,不接触 migration。
|
|||
|
|
2. W70-TEST 可先基于约定接口写测试;最终由主 agent 对齐具体私有函数名。
|
|||
|
|
3. Worker 之间不得互相修改对方文件;如发现接口不一致,通过消息交给主 agent 集成。
|
|||
|
|
4. 任何修改 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。
|