# 概要设计修复回归审查

Date: 2026-05-29
Status: Regression review after applying P0/P1/P2 overview audit repairs
Scope: Verify repaired `system-overview-design.md` against the four overview audit reports; no frozen baseline edits

---

## 1. 回归范围

审查对象：

- `AirPlan/docs/architecture/system-overview-design.md`

回归输入：

- `AirPlan/docs/architecture/gpt5概要设计审查.md`
- `AirPlan/docs/architecture/mimo2.5概要设计审查.md`
- `AirPlan/docs/architecture/Opus4.7概要设计审查.md`
- `AirPlan/docs/architecture/DeepSeek概要设计审查.md`

回归问题：

1. 原 10 个 P0 是否全部关闭？
2. 原 P1 是否已覆盖或明确转入详细设计？
3. 原 P2 中无需用户决策的对齐项是否已覆盖？
4. 是否引入新的明显基线冲突？

---

## 2. 总体结论

`system-overview-design.md` 已完成四模型审查后的修复回归。

结论：**可以进入详细设计 / 类图冻结。**

原因：

- 原 10 项 P0 全部关闭。
- 原 P1 全部在概要设计中获得覆盖。
- 原 P2 中不需要用户决策的对齐项已吸收；剩余仅为详细设计自然展开项。
- 未发现新的冻结基线冲突。
- 修复范围限定在概要设计和当前阶段索引/计划文档，没有修改冻结基线。

---

## 3. P0 回归表

| ID | 原缺口 | 修复位置 | 回归结论 |
|---|---|---|---|
| P0-01 | 源文档清单仅 11/24 | §1 Frozen source documents | **关闭**：24 份冻结基线全部列出 |
| P0-02 | 产品定位缺少 not wrapper + canonical loop | §2 System Goal | **关闭**：明确不是 Claude Code plugin/wrapper，并列出 V1 canonical loop |
| P0-03 | Global `~/.air/` layout + `project_id` UUID | §8.1 Filesystem layout | **关闭**：global/project-local layout、project_id UUID、`.air/local` gitignore 均覆盖 |
| P0-04 | Claude Code 执行原语系统约束 | §10.9 Claude Code execution discipline | **关闭**：read-before-edit、exact edit、scope、verification、evidence、block semantics 均覆盖 |
| P0-05 | 权限边界细则 | §12 Permission and Security Overview | **关闭**：PathRisk、CommandRisk、10 条边界规则覆盖 |
| P0-06 | IPC envelope + exit codes | §11 IPC and Worker Overview | **关闭**：envelope 字段、stdout/stderr、exit code 0-5 覆盖 |
| P0-07 | TaskSpec/WorkerResult 字段族 + failed/blocked | §10.10 TaskSpec and WorkerResult overview | **关闭**：字段族、status 语义、summary 规则覆盖 |
| P0-08 | 错误分类学缺失 | §9.2 Error taxonomy | **关闭**：AirError、ErrorKind、severity、retryability、semantic_signature 覆盖 |
| P0-09 | RuntimeEvent route/version/route_text | §9.1 Event flow | **关闭**：append-only、route_text、version increment、EventStore persistence policy 覆盖 |
| P0-10 | SQLite message storage invariants | §8.2 Session DB | **关闭**：canonical_format、message_drafts、no message_parts source-of-truth 覆盖 |

P0 结果：**10/10 关闭**。

---

## 4. P1 回归表

| ID | 原缺口 | 修复位置 | 回归结论 |
|---|---|---|---|
| P1-01 | 参考项目影响和复用边界 | §2 Reference influences and reuse boundaries | 关闭 |
| P1-02 | 技术栈约束条目 | §2 Technology baseline | 关闭 |
| P1-03 | Scheduler 状态机 | §10.3 Scheduler state machine | 关闭 |
| P1-04 | Main Agent 状态机 | §10.2 Main Agent state machine | 关闭 |
| P1-05 | ScopeImpactLevel 7 级分类 | §10.7 Review and architecture gate | 关闭 |
| P1-06 | FK-off 8 条不变量 | §8.2 Session DB | 关闭 |
| P1-07 | 日志架构 | §15 Logging | 关闭 |
| P1-08 | 迁移架构 | §15 Migration | 关闭 |
| P1-09 | 扫描器语义 | §15 Project scanner | 关闭 |
| P1-10 | 分发章节 | §15 Distribution | 关闭 |
| P1-11 | 测试分层 | §17 Validation Overview | 关闭 |
| P1-12 | contracts 包文件清单 | §4 Container Overview | 关闭 |
| P1-13 | C++ Ninja/Make/clangd 细节 | §10.8 C++ workflow | 关闭 |
| P1-14 | Provider 能力矩阵摘要 | §14 UI/HUD and Provider Overview | 关闭 |
| P1-15 | Capability Trust 生命周期和 trust level | §6 Runtime Component Overview | 关闭 |
| P1-16 | Artifact URI/ID/filename 规范 | §8.4 Artifact and evidence naming | 关闭 |
| P1-17 | C4 module 依赖图 | §4 Container Overview | 关闭 |
| P1-18 | Solution Architecture 四个核心决策 | §2 System Goal | 关闭 |

P1 结果：**全部关闭**。

注：P1 编号合并了 Opus/DeepSeek 两份报告的分类差异；DeepSeek 将 C4 依赖图和 solution decisions 追加为 P1，已覆盖。

---

## 5. P2 回归表

| 原缺口 | 修复位置 | 回归结论 |
|---|---|---|
| OpenCode UI reuse/do-not-reuse | §14 OpenCode reuse boundary | 关闭 |
| UI design evidence capability | §14 UI design evidence capability | 关闭 |
| Workspace GC 具体保留天数 | §15 Workspace GC policy | 关闭 |
| Cross-DB outbox 5 步流程 | §8.3 Project-level DBs | 关闭 |
| ExperienceMiner 触发所有权 | §13 ExperienceMiner triggers | 关闭 |
| PromptLayer L0-L9 一致性 | §13 PromptLayers L0-L9 | 关闭 |
| EventBus handler 异常处理 | §9.1 Event flow | 关闭 |
| command_runs 状态派生 | §8.2 Session DB | 关闭 |
| Provider runtime immutability ADR 溯源 | §14 + §18 Open Items | 关闭：已标注为设计阶段决策，ADR 编号留详细设计 |
| ADR 关键决策交叉引用 | §16 ADR alignment checkpoints | 关闭到概要级；具体编号留详细设计 |
| DB 关闭枚举清单引用 | §8.2 Session DB | 关闭 |
| session.db 物理路径/共享拓扑 | §8.1-§8.3 | 关闭 |
| zero-config C++ workflow | §2 + §10.8 | 关闭 |

P2 结果：**不需要用户决策的对齐项已关闭；剩余为详细设计自然展开项**。

---

## 6. 新冲突检查

未发现新的明显基线冲突。

重点检查结果：

1. **冻结基线未修改**：本次修复只改概要设计、计划/任务索引和新增审查报告。
2. **Provider/model runtime immutability**：概要设计标注为设计阶段决策，并在 §18 留 ADR 编号给详细设计，未伪装为冻结基线原文。
3. **TUI 边界**：继续保持 TUI 只依赖 ProjectionClient/contracts，不直接访问 runtime internals/SQLite/EventBus。
4. **Runtime/EventStore 边界**：保留 EventIngestor 入口、EventStore transaction、EventBus 非恢复源的语义。
5. **PermissionEngine 边界**：新增细则没有绕过 credential/system-sensitive override。
6. **Worker 边界**：仍禁止 worker 直接写 SQLite 或绕过 parent-mediated tools。
7. **Doctor/restore**：保持已覆盖的 Doctor self-bootstrap 和 restore 三粒度，没有引入与 runtime-semantics 冲突的语义。

---

## 7. 进入详细设计建议

建议进入详细设计，但详细设计开头应继承以下约束：

1. 不再修改冻结需求/基线，除非用户明确重新开基线变更流程。
2. `packages/contracts` 是第一冻结对象，优先从 `interface-contracts-v1.md` 和修复后的 `system-overview-design.md` 转写。
3. 详细设计需要给出具体类/模块/文件布局，而不是再次重复概要设计。
4. Provider/model runtime immutability 需要补 ADR 编号或详细设计决策记录。
5. Architecture Designer gate、Scheduler state machine、PermissionEngine、EventStore、IPC、TaskSpec/WorkerResult 应作为详细设计优先展开对象。

---

## 8. 回归门禁判定

| 门禁 | 状态 |
|---|---|
| P0 全部关闭 | PASS |
| P1 全部覆盖 | PASS |
| 非决策 P2 对齐项处理 | PASS |
| 新基线冲突 | PASS |
| 可进入详细设计 | **PASS** |

最终结论：**概要设计修复回归通过。**
