aps-agent/docs/adr/README.md

48 lines
2.0 KiB
Markdown
Raw Normal View History

# 架构决策记录(ADR)
> 一份文件记一个决定。设计文档写"怎么落地",ADR 写"为什么这么定、放弃了什么"。
## 目录约定
| 项 | 约定 |
| --- | --- |
| 位置 | `docs/adr/` |
| 命名 | `NNNN-英文短标题.md`,四位递增,从 0001 开始 |
| 粒度 | 一份文件只记一个决定;相关联的决定分文件写,互相引用 |
| 语言 | 文件名用英文短横线小写,正文用中文 |
| 评审 | 走 MR:有 diff、有讨论、有提交历史 |
## 不可更改原则
ADR 写完不再修改。要改结论就**新写一份**,并在两份里互相标注取代关系:
- 新 ADR 的 `状态` 写 `已接受(取代 ADR-0002)`
- 旧 ADR 的 `状态` 改为 `已取代(被 ADR-0007 取代)`
这样任何时候都能回答"当初为什么这么定、后来为什么改"。
## 状态取值
| 状态 | 含义 |
| --- | --- |
| 提议 | 已写出,等待决策人签字 |
| 已接受 | 决策人签字,作为当前依据 |
| 已取代 | 被更新的 ADR 覆盖 |
| 已废弃 | 决定不再适用,且未被替代 |
## 谁写、谁定
任何人可以提议(状态 `提议`)。决策人在文件里签字后状态改为 `已接受`。签字栏留空表示还没定。
## 索引
| 编号 | 标题 | 状态 | 来源 |
| --- | --- | --- | --- |
| [0001](./0001-tech-stack-and-repo.md) | 技术栈与仓库形态 | 已接受 | 任务表 A0.1、A0.2 |
| [0002](./0002-engine-provider-deployment.md) | 引擎与 Provider 的部署形态 | 已接受 | 任务表 A0.3(决策 D1) |
| [0003](./0003-data-scope-and-authority.md) | 数据作用域与权威数据源 | 已接受 | 任务表 A0.4(决策 D2) |
| [0004](./0004-desktop-and-local-capabilities.md) | 桌面端与本地能力边界 | 已接受 | 任务表 A0.5(决策 D4) |
| [0005](./0005-cutover-strategy.md) | 直接切换,不并行、不迁移 | 已接受 | 任务表 A0.9(决策 D7) |
编号在写之前先在本表登记,避免多人并行时撞号。