Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 3.79 KB

14-dev-plan.md

File metadata and controls

65 lines (52 loc) · 3.79 KB

模块 14 —— 开发计划(WBS / 验收 / 里程碑)

依据:design-v2 §15、模块 00 §5(开发顺序)、模块 01~13 版本:v1.0 | 状态:开发就绪(评审通过后开工)

1. 里程碑总览(团队规模:3~4 人)

里程碑 周期 目标(Definition of Done)
M0 2 周 契约定稿(proto/openapi/schema 三方 lint 通过)、决策记录签字、CI 骨架、工作区脚手架
M1 4~6 周 单节点:core+storage+raft(--dev-single 模式跑通 CRUD/草稿/发布);集群 join 可用
M2 4~6 周 发布引擎全量(幂等/回滚/结构发布/共享级联)、crypto、render、jobs
M2.5 3~4 周 Admin UI(单会话/草稿/发布/历史/回滚)、watch 服务端、可观测性
M3 4~6 周 三语言 SDK + 契约测试对拍
M4 持续 混沌、加固、文档、发布(镜像+SBOM+compose 示例)

2. WBS 任务拆解(按里程碑 → 模块 → 任务清单引用)

里程碑 任务(引用模块规格 §任务清单)
M0 00 契约/CI 骨架;01 错误类型+数据模型初稿;13 三方 lint 与 golden 骨架
M1 01 core 全量;02 storage;03 raft(bootstrap/join);00 --dev-single 联调
M2 04 publish 全量;07 crypto;08 render;11 jobs
M2.5 06 watch;05 api 全量;10 observability;09 admin-ui
M3 12 sdk 三语言 + 契约测试
M4 13 混沌/基准;14 发布清单;安全加固(CSP/审计补全)

3. 并行分工建议(3~4 人)

角色 负责模块
A(后端/共识) 01 → 02 → 03 → 04(关键路径)
B(后端/应用) 05 → 06 → 10;与 A 并行联调(--dev-single 先行)
C(后端/安全渲染) 07 → 08 → 11;07 完成后支援 B
D(前端/SDK) M0 起做 09 骨架;M3 转 12 SDK(可外包/后加入)

4. 每模块 Definition of Done

  1. 模块规格任务清单全勾选;2. 对应用例 ID 测试全绿;3. 文档注释完整;
  2. 无 clippy warning;5. 错误映射正确(05 表);6. 指标/审计埋点到位。

5. 里程碑验收清单

  • M1 验收:dsh --dev-single 起单节点 → 建项目/分支 → 改草稿 → 发布 → GetConfig 读到新版本; 3 节点(bootstrap+join+join)→ kill 任一节点读写不中断;watch 收到发布事件。
  • M2 验收:幂等重复发布只生效一次;回滚后版本历史完整;结构发布全分支推进; 共享库发布自动级联;磁盘扫描无明文;YAML/TOML/JSON 等价。
  • M2.5 验收:Admin UI 全流程(登录→改草稿→发布→回滚);第二个登录被拒(I7); 指标/审计可查;健康检查正确。
  • M3 验收:三语言 SDK 契约测试对拍全绿。
  • M4 验收:混沌测试通过;基准达标(写 QPS ≥10k、watch ≥10k、发布→SDK ≤1s、 内存 ≤128MB、二进制 ≤50MB);发布清单(镜像/SBOM/compose)就绪。

6. 风险与回退

风险 应对
openraft trait 与文档不一致 M1 第 1 周固定版本并写最小 demo(模块 03 任务 1)
rust-rocksdb 构建/链接问题 备选:librocksdb-sys 版本固定;CI 缓存构建产物
三语言 SDK 时间超支 M3 优先 Go + Python(服务端主流),TS 浏览器版后置
版本存储增长 checkpoint + 裁剪(模块 11)提前到 M2 初
单会话卡死 会话清扫(模块 11)+ CLI force-logout(M1 即实现)

7. 开工清单(评审通过后第一周)

□ 评审本批 15 份模块规格并签字 □ 建仓库骨架(server workspace + proto 接入) □ CI 骨架(stage 1~3) □ openraft 版本固定 + 最小 demo □ --dev-single 模式打通 CRUD