跳转至

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 提供商、嵌入模型、存储) - 数据模型重大变更 - 安全相关决策

理由

  1. 冲突溯源:当前8处文档冲突中,至少3处(LLM提供商、嵌入模型、SQLAlchemy角色)源于缺乏决策记录
  2. 知识传承:新贡献者可通过 ADR 理解"为什么"而不仅是"是什么"
  3. 合规要求:ENGINEERING_ALIGNMENT.md 作为权威索引需要 ADR 支撑

后果

  • 所有新架构决策必须创建 ADR
  • 历史决策逐步补录(见 ADR-0002 至 ADR-0005)
  • ADR 编号递增,不回收,废弃状态明确标注