docs: keep node backend during migration
This commit is contained in:
@@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
- [x] 确认 Rust 后端新目录名与根目录落位方案
|
- [x] 确认 Rust 后端新目录名与根目录落位方案
|
||||||
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
||||||
- [ ] 确认旧 `server-node/` 在迁移期继续保留,不提前删除
|
- [x] 确认旧 `server-node/` 在迁移期继续保留,不提前删除
|
||||||
|
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
||||||
- [ ] 确认前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB
|
- [ ] 确认前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB
|
||||||
- [ ] 确认外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块
|
- [ ] 确认外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
| 事项 | 当前状态 | 当前结论 |
|
| 事项 | 当前状态 | 当前结论 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Rust 后端新目录名与根目录落位方案 | 已确认 | 新 Rust 后端固定为仓库根目录下的 `server-rs/`,与 `server-node/` 同级。 |
|
| Rust 后端新目录名与根目录落位方案 | 已确认 | 新 Rust 后端固定为仓库根目录下的 `server-rs/`,与 `server-node/` 同级。 |
|
||||||
| 旧 `server-node/` 在迁移期继续保留,不提前删除 | 待确认 | 后续补充。 |
|
| 旧 `server-node/` 在迁移期继续保留,不提前删除 | 已确认 | `server-node/` 在 `M0 ~ M6` 期间持续保留,直到 `M7` 切流与回退验证完成后再评估清理。 |
|
||||||
| 前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB | 待确认 | 后续补充。 |
|
| 前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB | 待确认 | 后续补充。 |
|
||||||
| 外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块 | 待确认 | 后续补充。 |
|
| 外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块 | 待确认 | 后续补充。 |
|
||||||
|
|
||||||
@@ -80,3 +80,46 @@ Genarrative/
|
|||||||
1. 新 Rust 后端目录名已经书面固定为 `server-rs/`
|
1. 新 Rust 后端目录名已经书面固定为 `server-rs/`
|
||||||
2. 目录位置已经书面固定为仓库根目录
|
2. 目录位置已经书面固定为仓库根目录
|
||||||
3. 后续 `M1` 的工作区初始化不会再出现 `server-rs/`、`backend-rs/`、`server/` 等多套候选名并存
|
3. 后续 `M1` 的工作区初始化不会再出现 `server-rs/`、`backend-rs/`、`server/` 等多套候选名并存
|
||||||
|
|
||||||
|
## 5. 已确认决议二:迁移期保留 `server-node/`
|
||||||
|
|
||||||
|
### 5.1 决议内容
|
||||||
|
|
||||||
|
在本次重写迁移期内,旧 `server-node/` 固定继续保留,不提前删除、不整体挪位、不提前做破坏性收缩。
|
||||||
|
|
||||||
|
保留周期固定为:
|
||||||
|
|
||||||
|
1. `M0` 到 `M6` 全阶段
|
||||||
|
2. 至少持续到 `M7` 的以下条件全部满足之后,才允许评估清理:
|
||||||
|
- 新后端已切流
|
||||||
|
- 旧接口 contract 回归通过
|
||||||
|
- 关键主链 smoke 通过
|
||||||
|
- 已具备明确回退方案
|
||||||
|
|
||||||
|
### 5.2 保留它的原因
|
||||||
|
|
||||||
|
1. 旧 `server-node/` 是当前 `96` 条路由、`6` 个挂载面、`12` 个模块的真实对照实现。
|
||||||
|
2. 前面已经冻结的路由矩阵、模块迁移清单、SSE 协议、静态资源前缀,都需要它作为回归对照源。
|
||||||
|
3. 如果在 `M1 ~ M6` 提前删除旧实现,就会失去最可靠的回退锚点与 diff 基准。
|
||||||
|
|
||||||
|
### 5.3 迁移期允许做什么
|
||||||
|
|
||||||
|
迁移期内允许:
|
||||||
|
|
||||||
|
1. 在 `server-rs/` 中逐步补等价实现。
|
||||||
|
2. 在文档和 manifest 中继续引用 `server-node/` 作为当前系统基线。
|
||||||
|
3. 在必要时从 `server-node/` 补测试样例、补协议对照、补回归夹具。
|
||||||
|
|
||||||
|
迁移期内不允许:
|
||||||
|
|
||||||
|
1. 提前整体删除 `server-node/`
|
||||||
|
2. 把 `server-node/` 改成只剩空壳目录
|
||||||
|
3. 在还没切流前,把旧服务关键实现批量迁走导致无法对照
|
||||||
|
|
||||||
|
### 5.4 对后续任务的直接约束
|
||||||
|
|
||||||
|
从这一条决议开始,后续任务必须遵守:
|
||||||
|
|
||||||
|
1. `M1` 搭建 `server-rs/` 时,不改动 `server-node/` 的存在性。
|
||||||
|
2. `M2 ~ M6` 迁移功能时,旧 `server-node/` 继续作为验收基线与回退锚点。
|
||||||
|
3. 真正评估清理旧 Node 后端的动作,只能放到 `M7` 切流完成之后。
|
||||||
|
|||||||
@@ -610,6 +610,11 @@ workflow-cache/{workflow_type}/{workflow_id}.json
|
|||||||
|
|
||||||
## 13. 迁移阶段建议
|
## 13. 迁移阶段建议
|
||||||
|
|
||||||
|
迁移期仓库边界补充约束:
|
||||||
|
|
||||||
|
1. 旧 `server-node/` 在 `M0 ~ M6` 期间继续保留,作为协议对照、回归基线与回退锚点。
|
||||||
|
2. 只有在 `M7` 切流、回归、回退方案都稳定后,才评估是否清理旧 Node 后端。
|
||||||
|
|
||||||
## Phase 0:冻结能力清单
|
## Phase 0:冻结能力清单
|
||||||
|
|
||||||
交付:
|
交付:
|
||||||
|
|||||||
Reference in New Issue
Block a user