<!-- @when: 根因不明，需系统排查而非随机尝试 -->
<!-- @chain: before=dcc-error-classification.md, after=mcp-exception-handling.md -->

### 8.7 假设驱动调试循环

不要陷入"猜测→修改→验证"随机修复循环，用假设驱动方式系统性缩小范围：

```
① 信息采集
   ├─ 完整错误消息 + 错误号/异常类型
   ├─ 调用栈（符号化/非符号化均可）
   ├─ 环境信息（Delphi版本/OS/平台/配置）
   ├─ 复现步骤（确定能否稳定复现）
   ├─ 最近变更（git log --oneline -10）
   └─ 查经验库: experience(search, query="...")
        ↓
② 生成 2~3 个独立假设
   H1: 假设原因A → 预期观察A' → 验证方法V1
   H2: 假设原因B → 预期观察B' → 验证方法V2
   要求: 基于证据，互斥或独立，按最易验证>最可能排序
        ↓
③ 并行验证
   ├─ 互不依赖的假设同时验证
   ├─ 每个验证用最少操作
   ├─ 编译错误用 compile_file 单文件验证
   └─ 运行时用 rget/delphi_rtti 快速验证
        ↓
④ 分析结果 → 决策
   ├─ 证实 → 进入修复
   ├─ 全证伪 → 回①或介入
   └─ 部分证实 → 调整假设缩小范围
```

最多 3 轮仍无法定位根因 → 触发 P0 介入。

**关键规则**：
1. **禁止零假设修复** — 没有形成假设不得改代码
2. **每次只验证一个假设** — 不做多改动
3. **假设可证伪** — 无法设计验证方法说明不够具体
4. **维护调试日志** — 按 8.10 记录，避免同质方案重复
