本 reference 是通用最小架构决策模板,覆盖任意方案取舍场景(架构方案/模块拆分/实现取舍)。与 tech-selection(技术栈级选型)和 spec-driven-development(Spec 级)互补,不重复定义决策流程。
对每个候选方案:
| 维度 | 内容 | | - | - | | 优势 | 核心卖点 / 在约束下的匹配度 | | 劣势 | 代价 / 风险 / 局限 | | 适用场景 | 什么情况下它是最优 | | 不适用场景 | 明确排除的情况 |
tech-selection.md 反选论证)performance-benchmark.md、mysql-database.md 的验证闭环衔接project-memory-management 的 Decision Record 模式沉淀到项目记忆,撤销条件随记录保存| 条件 | 动作 | | - | - | | 多候选方案 / 跨模块影响 / 高影响决策 | 强制走完整流程并输出决策记录 | | 单一合理实现 / 低复杂度改动(单文件小功能) | 豁免,输出说明"单一合理实现,无候选方案" |
## 架构决策记录(Architecture Decision Record)
- **决策点**:[一句话]
- **候选方案**:A / B / [C]
- **选择**:[方案]
- **选择理由**:[基于需求与约束]
- **反选论证**:[为何不选 B/C,逐条 trade-off]
- **接受的代价**:[已知技术债 / 限制]
- **撤销条件**:[什么情况下重新评估]
- **验证**:[验证方式 + 预期结果]
## Decision Record: [决策名称]
**日期**: [YYYY-MM-DD]
**问题**: [要解决的技术问题]
### 选项分析
| 选项 | 优势 | 劣势 | 适用场景 |
| - | - | - | - |
| [选项A] | ... | ... | ... |
| [选项B] | ... | ... | ... |
### 决策
**选择**: [最终选项]
**理由**: [核心原因]
**Trade-offs**: [接受的代价]
### 撤销条件
[什么情况下重新评估]
| 步骤 | 失败条件 | 回退目标 | 最大重试 | 不可恢复时升级路径 | | - | - | - | - | - | | 第二步:列候选方案 | 只能想到 1 个方案 | 标注"单一合理实现",豁免本流程 | 0 | 直接进入实现,交付时说明无候选 | | 第四步:反选论证 | 备选与首选 trade-off 接近难以取舍 | 输出决策矩阵,标注推荐项与依据 | 2 | 建议 POC 验证后由用户拍板 | | 第五步:验证 | 验证手段不可用(无环境/无工具) | 标注"验证受限" + 最小可执行验证路径 | 1 | 输出限制说明,交用户决定是否继续 |