# 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 连续失败 | ✅ 完整 |

---

## 三、做得好的（双方认可）

1. **黑板模块完整扎实** — operations.py 20+方法，覆盖设计文档全部要求
2. **v2.8 + M3 端到端贯通** — DDL→operations→routes→CheckpointPanel→TaskModal，质量高
3. **Ticker 持续指挥** — 580行实现，调度/超时/依赖推进/审查分发职责清晰
4. **状态机严格实现** — VALID_TRANSITIONS + CHECK约束双重保障
5. **前端12 Tab全覆盖** — 远超PRD预期（PRD标注v2.1+）
6. **v2.7/v2.8超前实现** — 开发计划标"待开发"但实际已完成
7. **per-project SQLite隔离** — registry.db + 多blackboard.db，架构清晰
8. **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*
