ADR-0001: 建立 Architecture Decision Records 流程
状态: 已接受 日期: 2026-04-03 决策者: 工程团队
背景
项目在架构决策方面缺乏正式记录机制。LINGZHI_SYSTEM_PRINCIPLES 和 ENGINEERING_ALIGNMENT 等文档间存在8处冲突(模型名称、LLM提供商、覆盖率目标等),部分原因是架构决策没有被独立追踪。
决策
建立 docs/adr/ 目录,采用 Michael Nygard 的 ADR 格式记录所有重大架构决策。
ADR 格式模板
# ADR-NNNN: 标题
**状态**: 提议 | 已接受 | 已废弃 | 已替代
**日期**: YYYY-MM-DD
**替代**: ADR-XXXX(如适用)
## 背景
## 决策
## 理由
## 后果
记录范围
以下决策必须写入 ADR: - 技术栈选型(语言、框架、数据库、AI 模型) - 架构模式变更(数据访问层、缓存策略、认证机制) - 外部服务集成(LLM 提供商、嵌入模型、存储) - 数据模型重大变更 - 安全相关决策
理由
- 冲突溯源:当前8处文档冲突中,至少3处(LLM提供商、嵌入模型、SQLAlchemy角色)源于缺乏决策记录
- 知识传承:新贡献者可通过 ADR 理解"为什么"而不仅是"是什么"
- 合规要求:ENGINEERING_ALIGNMENT.md 作为权威索引需要 ADR 支撑
后果
- 所有新架构决策必须创建 ADR
- 历史决策逐步补录(见 ADR-0002 至 ADR-0005)
- ADR 编号递增,不回收,废弃状态明确标注