# Bugfix 设计规范 ## 目标 基于 `bugfix.md` 与代码/日志/现有设计证据定位根因,提出最小、可回滚且保护 UNCH/CON 的修复设计。没有证据时写“假设”,不能把推断包装成事实。 ## 流程 1. **复现基线**:验证 REPRO/CUR;无法复现则输出调查计划并停止修复设计结论。 2. **根因证据链**:从入口沿数据与控制流追到首次偏离 EXP 的位置,记录文件/组件/接口/状态与证据。区分根因、诱因和表象。 3. **影响面**:列直接调用方、数据兼容、缓存/并发、权限安全、外部集成和部署风险;把所有 UNCH/CON 映射进保护策略。 4. **最小修复**:只改变恢复 EXP 所必需的设计点,分配 `FIX-BUG-nnn`;若必须扩大范围,先说明为何无法保持约束并让用户拍板。 5. **验证与回滚**:定义 bug 复现应先失败、修复后通过、不变行为继续通过;写发布观察指标、开关/回滚和数据修复策略。 ## `修复设计.md` 必备结构 1. 输入契约与版本 2. 复现证据 3. 根因结论(事实/推断/未知分栏) 4. 最小变更面(FIX ID、组件、文件、接口、数据) 5. UNCH/CON 保护矩阵 6. 失败模式与缓解 7. 测试入口 8. 发布、监控与回滚 9. 未决项 同时输出 `设计追溯矩阵.md`,覆盖 REPRO/CUR/EXP/UNCH/CON;输出 `change-impact.md`,列出需要更新的现有设计和后续测试/任务。默认不重做 tokens、展示页或无关页面。 ## 硬门禁 - 没有 fresh reproduction 证据,不声称根因已确认。 - 每个 UNCH/CON 都有保护设计与验证面。 - 修复设计不得引入与 EXP 无关的新能力。 - 至少写两个主要风险(如回归、数据、并发、安全、部署)及对应缓解。