docs(adr): 按“开发阶段无客户数据”修订 ADR-0001/0003,去掉迁移与兼容假设

This commit is contained in:
zh 2026-09-23 10:43:15 +08:00
parent 8d261afbbc
commit 85fab9daf5
2 changed files with 6 additions and 4 deletions

View File

@ -9,7 +9,7 @@
现有仓库是「APS 产品 + 内嵌智能体层」的混合实现:网关一个文件 5232 行、数据库 18 张表混装平台与 APS 数据、APS 领域有 14 个文件反向依赖智能体层。重构的目标是把平台与 APS 拆开,平台从零重写。
同时有两项硬约束:APS 的求解依赖 Python 生态(OR-Tools CP-SAT 在 TS 侧没有等价实现),所以 APS 只能搬迁适配、不能重写;旧系统仍在生产使用,切换必须可回退。
同时有两项硬约束:APS 的求解依赖 Python 生态(OR-Tools CP-SAT 在 TS 侧没有等价实现),所以 APS 只能搬迁适配、不能重写;项目仍在开发阶段、无客户试用数据,因此不需要考虑与既有数据或接口的兼容,旧代码的作用只剩「搬迁时查证」。
## 选项
@ -21,7 +21,7 @@
## 结论
选 C。同一仓库建孤儿分支 `rewrite/platform`:工作区从 `main` 的内容出发,但提交历史从首个提交 `b878fd6` 开始,不继承旧历史。切换时以本分支强推覆盖 `main`(`--force-with-lease`),切换前把 `main` 备份为 `legacy/main` 并设为只读。
选 C。同一仓库建孤儿分支 `rewrite/platform`:工作区从 `main` 的内容出发,但提交历史从首个提交 `b878fd6` 开始,不继承旧历史。切换时以本分支强推覆盖 `main`(`--force-with-lease`),切换前把 `main` 备份为 `legacy/main` 并设为只读——保留它不是为了回退生产,而是因为 APS 搬迁时要反复查证旧实现。
理由是两条同时满足:既保留原仓库的 issue、CI、权限与制品通道,又让新分支的历史真正从零开始。
@ -34,6 +34,6 @@
## 遗留
- `legacy/main` 备份分支的创建与只读设置:切换前执行,见 A0.2
- `legacy/main` 备份分支的创建与只读设置:切换前执行,见 A0.2。作用是保留旧代码供搬迁查证;无生产数据,不考虑回退
- 孤儿历史**不会**减小仓库体积(旧对象仍在对象库);要体积归零只能另立仓库,本次不做
- 移植旧逻辑时在提交信息里写明 `移植自 main:<path>`,否则 `git blame` 追不到来源

View File

@ -9,6 +9,8 @@
引擎会在开发或部署期被替换,业务系统会被拆出去独立演进。数据归属如果跟着变,每次调整都要迁数据。所以要在重构开始前把两件事定死:会话的作用域怎么划分,以及每类数据的权威方是谁。
这条决定与「兼容旧数据」无关:项目仍在开发阶段,没有客户试用数据,不需要迁移或兼容任何历史数据。它管的是新系统内部的归属,作用是让将来的替换与拆分不需要迁数据。
## 选项
| 选项 | 做法 | 代价 | 不选的理由 |
@ -41,4 +43,4 @@
## 遗留
- APS 独立后要自带项目与租户概念(任务 B2)
- 既有审批数据里有在途状态,处置方式见 ADR-0005
- 无历史数据需要迁移,原「在途审批数据处置」一项取消