aps-agent/docs/adr
zh 85fab9daf5 docs(adr): 按“开发阶段无客户数据”修订 ADR-0001/0003,去掉迁移与兼容假设 2026-09-23 10:43:15 +08:00
..
0000-template.md docs(adr): 建立 ADR 目录约定与模板,补齐 ADR-0001 2026-09-22 18:26:30 +08:00
0001-tech-stack-and-repo.md docs(adr): 按“开发阶段无客户数据”修订 ADR-0001/0003,去掉迁移与兼容假设 2026-09-23 10:43:15 +08:00
0002-engine-provider-deployment.md docs(adr): 补齐 ADR-0002/0003/0004(部署形态、数据作用域、桌面端边界) 2026-09-22 18:33:22 +08:00
0003-data-scope-and-authority.md docs(adr): 按“开发阶段无客户数据”修订 ADR-0001/0003,去掉迁移与兼容假设 2026-09-23 10:43:15 +08:00
0004-desktop-and-local-capabilities.md docs(adr): 补齐 ADR-0002/0003/0004(部署形态、数据作用域、桌面端边界) 2026-09-22 18:33:22 +08:00
README.md docs(adr): 补齐 ADR-0002/0003/0004(部署形态、数据作用域、桌面端边界) 2026-09-22 18:33:22 +08:00

README.md

架构决策记录(ADR)

一份文件记一个决定。设计文档写"怎么落地",ADR 写"为什么这么定、放弃了什么"。

目录约定

项 约定
位置 docs/adr/
命名 NNNN-英文短标题.md,四位递增,从 0001 开始
粒度 一份文件只记一个决定;相关联的决定分文件写,互相引用
语言 文件名用英文短横线小写,正文用中文
评审 走 MR:有 diff、有讨论、有提交历史

不可更改原则

ADR 写完不再修改。要改结论就新写一份,并在两份里互相标注取代关系:

  • 新 ADR 的 状态 写 已接受(取代 ADR-0002)
  • 旧 ADR 的 状态 改为 已取代(被 ADR-0007 取代)

这样任何时候都能回答"当初为什么这么定、后来为什么改"。

状态取值

状态 含义
提议 已写出,等待决策人签字
已接受 决策人签字,作为当前依据
已取代 被更新的 ADR 覆盖
已废弃 决定不再适用,且未被替代

谁写、谁定

任何人可以提议(状态 提议)。决策人在文件里签字后状态改为 已接受。签字栏留空表示还没定。

索引

编号 标题 状态 来源
0001 技术栈与仓库形态 已接受 任务表 A0.1、A0.2
0002 引擎与 Provider 的部署形态 已接受 任务表 A0.3(决策 D1)
0003 数据作用域与权威数据源 已接受 任务表 A0.4(决策 D2)
0004 桌面端与本地能力边界 已接受 任务表 A0.5(决策 D4)
0005 迁移与切换策略 待写 任务表 A0.9(决策 D7)

编号在写之前先在本表登记,避免多人并行时撞号。