8.1 KiB
8.1 KiB
moziplus v2.0 背靠背合并审查报告
版本: v1.0
日期: 2026-05-19
作者: 庞统🐦 + 司马懿🗡️
方法: 庞统 vs 司马懿独立审查(背靠背),合并去重、交叉验证
子报告: 庞统 backend-audit.md / frontend-audit.md / prd-coverage-audit.md + 司马懿 simayi-independent-audit.md
零、交叉验证结论
两份审查一致的部分(高置信度)
两份报告在以下核心结论上完全一致:
| 结论 | 庞统 | 司马懿 |
|---|---|---|
| 安全红线(guardrails)是最大 P0 缺口 | ✅ C9 部分实现,R1/R4 缺失 | ✅ 6条中仅2.5条落地 |
| development-plan 严重滞后 | ✅ v2.8标注"待开发"但代码已完成 | ✅ 同 |
| 4个模块"已实现未集成" | ✅ HealthChecker/BootstrapBuilder/InboxWatcher/ExperienceDistiller | ✅ ExperienceStore未auto-distill + router.py未走新路由 |
| 前端组件死代码 | ✅ MorningPanel/GlobalSearch未注册 | ✅ 5个组件无import |
| 文档版本混乱 | ✅ architecture-v2.md应归档 + 10份Topic应归档 | ✅ 同+product-direction-notes |
| 黑板/Ticker/Checkpoint 质量高 | ✅ 与设计高度一致 | ✅ 端到端贯通质量高 |
两份审查的互补发现
| 发现 | 来源 | 另一方是否覆盖 |
|---|---|---|
checkpoint_routes.py _bb() Bug |
庞统 | ❌ 司马懿未发现 |
| TaskModal StatusButtons 无 onClick | 庞统 | ❌ 司马懿未发现(前端审查更深入) |
| GET /api/daemon/sessions 未实现 | 司马懿 | ❌ 庞统未发现 |
| PATCH vs POST status 偏差 | 司马懿 | ❌ 庞统未发现(API语义审查更细致) |
| DELETE vs POST archive 偏差 | 司马懿 | ❌ 庞统未发现 |
| FK恢复缺finally保护 | 司马懿 | ❌ 庞统未发现(DB层更仔细) |
| 5个前端Tab超前实现(Mail/Usage/Templates/Morning/GlobalSearch) | 庞统 | ⚠️ 司马懿标记为"死代码"(视角不同) |
| 10个任务模板(TEMPLATES)超前 | 庞统 | ❌ 司马懿未发现 |
| Dispatcher可能走legacy路由 | 司马懿 | ❌ 庞统未发现 |
一、合并后的问题清单(按优先级排序)
🔴 P0(必须修)— 5 项
| # | 问题 | 发现者 | 证据 | 行动 |
|---|---|---|---|---|
| P0-1 | 安全红线未落地 | 双方一致 | PRD §10.1 六条红线,实盘交易拦截(R1)+系统配置变更拦截(R3)完全无代码;Token消耗追踪(R4)无拦截 | 创建 guardrails.yaml,实现 L1 硬检查 |
| P0-2 | development-plan 严重滞后 | 双方一致 | v2.8/M3 标注"待开发"但代码已完成且评审通过 | 立即更新 development-plan |
| P0-3 | checkpoint_routes.py _bb() 运行时 Bug |
庞统 | L35 调用 registry.get_db_path() 但 registry.py 无此方法 |
修复为正确的方法调用 |
| P0-4 | TaskModal StatusButtons 无 onClick | 庞统 | TaskModal.tsx L141-168 渲染按钮但未绑定处理函数 | 补充 onClick 处理 |
| P0-5 | FK恢复缺finally保护 | 司马懿 | db.py _migrate_v28 中 PRAGMA foreign_keys=OFF 后异常时无法恢复 |
加 finally 块 |
🟡 P1(应该修)— 10 项
| # | 问题 | 发现者 | 证据 |
|---|---|---|---|
| P1-1 | HealthChecker未集成到Ticker | 庞统 | health.py完整实现,Ticker未调用 |
| P1-2 | BootstrapBuilder未集成到Spawner | 庞统 | bootstrap.py 215行,Spawner用自己模板 |
| P1-3 | InboxWatcher未集成到Ticker | 庞统 | inbox.py完整,事件驱动未启用 |
| P1-4 | ExperienceStore未自动蒸馏 | 双方 | experience.py 291行,无auto-distill |
| P1-5 | GET /api/daemon/sessions 未实现 | 司马懿 | technical-design L768定义,spawner有数据未暴露 |
| P1-6 | 5个前端组件死代码 | 双方 | MorningPanel/ArtifactList/ArtifactPanel/GlobalSearch/ConfirmDialog 无import |
| P1-7 | ArtifactPanel未集成到TaskModal | 司马懿 | v2.8 §5.1要求,组件已写未接入 |
| P1-8 | 设计文档版本混乱 | 双方 | architecture-v2.md + 3份重复Topic + product-direction-notes 未归档 |
| P1-9 | Dispatcher可能走legacy路由 | 司马懿 | dispatcher.py _legacy_dispatch,新Router未生效 |
| P1-10 | 苏格拉底Skill未注册 + AI规划环节缺失 | 司马懿 | PRD C1/C2核心能力,平台层未落地(依赖Agent Skill) |
🟢 P2(可以后修)— 8 项
| # | 问题 | 发现者 |
|---|---|---|
| P2-1 | PATCH status → POST status API语义偏差 | 司马懿 |
| P2-2 | DELETE project → POST archive 偏差(代码更安全,应更新设计) | 司马懿 |
| P2-3 | DAG拓扑视图未实现 | 庞统 |
| P2-4 | SSE实时推送(前端仍用HTTP 5s轮询) | 庞统 |
| P2-5 | 通知中心完整实现(仅铃铛占位) | 庞统 |
| P2-6 | 乐观锁(expected_version) | 庞统 |
| P2-7 | Subagent spawn为placeholder | 庞统 |
| P2-8 | agent-api-contract/routing-redesign未在主架构引用 | 司马懿 |
二、合并后的 PRD 覆盖率
§5 十大能力
| 能力 | 庞统评级 | 司马懿评级 | 合并评级 |
|---|---|---|---|
| C1 需求探索 | ⚠️ 部分(依赖Agent Skill) | ❌ 缺口(Skill未注册) | ⚠️ 部分 — 框架有,Skill未注册,属P1 |
| C2 动态规划 | ✅ 完整 | ⚠️ 部分(无AI规划环节) | ⚠️ 部分 — 有路由+审查+调度,缺显式AI规划 |
| C3 持续指挥 | ✅ 完整 | ✅ 完整 | ✅ 完整 |
| C4 共享意识 | ✅ 完整 | ✅ 完整 | ✅ 完整 |
| C5 自主协作 | ⚠️ v2.1+ | ❌ v2.1+ | ✅ 预期缺口 |
| C6 质量门禁 | ✅ 完整 | ✅ 完整 | ✅ 完整 |
| C7 主动汇报 | ✅ 完整 | ✅ 完整 | ✅ 完整 |
| C8 经验沉淀 | ✅ 完整 | ✅ 完整(+未自动调用) | ⚠️ 部分 — 代码完整但未集成自动流程 |
| C9 安全护栏 | ⚠️ 部分 | ⚠️ 部分(2/6落地) | ⚠️ 部分 — P0缺口 |
| C10 工具链 | ❌ v2.1+ | ❌ v2.1+ | ✅ 预期缺口 |
合并覆盖率:4/10 完整,4/10 部分,2/10 预期缺口(v2.1+)
§10.1 安全红线
| 红线 | 双方一致评级 |
|---|---|
| R1 实盘交易拦截 | ❌ P0 |
| R2 数据删除 | ⚠️ 部分(archive而非delete) |
| R3 系统配置变更 | ❌ P0 |
| R4 Token消耗 | ⚠️ 部分(有警告无拦截) |
| R5 Agent不受控 | ✅ 完整 |
| R6 连续失败 | ✅ 完整 |
三、做得好的(双方认可)
- 黑板模块完整扎实 — operations.py 20+方法,覆盖设计文档全部要求
- v2.8 + M3 端到端贯通 — DDL→operations→routes→CheckpointPanel→TaskModal,质量高
- Ticker 持续指挥 — 580行实现,调度/超时/依赖推进/审查分发职责清晰
- 状态机严格实现 — VALID_TRANSITIONS + CHECK约束双重保障
- 前端12 Tab全覆盖 — 远超PRD预期(PRD标注v2.1+)
- v2.7/v2.8超前实现 — 开发计划标"待开发"但实际已完成
- per-project SQLite隔离 — registry.db + 多blackboard.db,架构清晰
- Agent友好API — 详细错误响应含hint + valid_values
四、行动优先级
第一批(本周)— P0 修复
| 行动 | 工作量 |
|---|---|
修复 checkpoint_routes.py _bb() Bug |
0.5h |
| 修复 TaskModal StatusButtons onClick | 2h |
| 修复 db.py _migrate_v28 FK finally 保护 | 0.5h |
| 更新 development-plan v2.8 状态 | 1h |
| 创建 guardrails.yaml(R1/R3/R4 三条红线) | 1-2天 |
第二批(下周)— P1 集成
| 行动 | 工作量 |
|---|---|
| HealthChecker 集成到 Ticker | 2h |
| BootstrapBuilder 集成到 Spawner | 4h |
| 补实现 GET /api/daemon/sessions | 1h |
| ArtifactPanel 集成到 TaskModal | 2h |
| 清理/接入前端死代码组件 | 2h |
| 文档归档(10份过期文档) | 0.5h |
| Dispatcher 确认走新路由 | 1h |
第三批(v2.1+)
| 行动 | 说明 |
|---|---|
| 苏格拉底Skill注册 | 依赖Agent层 |
| AI动态规划环节 | 依赖Agent层 |
| DAG拓扑视图 | 需React Flow |
| SSE实时推送 | 前端改造 |
| 工具链自动化 | PRD v2.1+ |
合并审查完毕。庞统🐦 + 司马懿🗡️ 2026-05-19