aps-agent/docs/adr
zh de8d04489b docs(adr): 补齐 ADR-0007(数据存储选型与双形态一致规则)
单机版结构化数据用本地 SQLite、会话消息用 JSONL、附件用本地目录;服务端版全部 PostgreSQL。定下七条写法约定(整数毫秒时间、应用侧 ULID 主键、JSONB/TEXT、整数最小单位、禁用库特有逻辑、一套 schema 一个迁移工具、会话消息不落结构化库),并记录访问层选型与四项缺口。来源:任务表决策 D11 / A0.12。
2026-09-23 15:43:40 +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
0005-cutover-strategy.md docs(adr): 补齐 ADR-0005(直接切换,不并行、不迁移) 2026-09-23 11:03:42 +08:00
0006-engine-as-subprocess.md docs(adr): 补齐 ADR-0006(引擎以长驻子进程运行) 2026-09-23 11:25:31 +08:00
0007-storage-and-consistency.md docs(adr): 补齐 ADR-0007(数据存储选型与双形态一致规则) 2026-09-23 15:43:40 +08:00
README.md docs(adr): 补齐 ADR-0007(数据存储选型与双形态一致规则) 2026-09-23 15:43:40 +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)
0006 引擎以长驻子进程运行 已接受 任务表 A3(决策 D10)
0007 数据存储选型与双形态一致规则 已接受 任务表 A0(决策 D11)

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