SayClaw 仓库收敛计划(v1)
1. 目标
在不影响线上稳定性的前提下,完成以下收敛:
- 明确 8 仓职责边界,消除重复实现。
- 统一认证、配置、调度与发布规范。
- 建立“计划-提交-验收”闭环,避免口径漂移。
2. 当前仓库(基线)
sayclaw/sayclaw(主仓)sayclaw/sayclaw-docs(文档)sayclaw/sayclaw-infra(基础设施)sayclaw/sayclaw-ops(运维脚本)sayclaw/sayclaw-admin(后台前端)sayclaw/sayclaw-backend(Admin API + Portal API)sayclaw/sayclaw-app(Portal 前端 SPA)sayclaw/sayclaw-portal(Portal API Go)
3. 收敛原则
- 单一事实源:每一类能力只允许 1 个“主实现仓”。
- 安全优先:先完成密钥/鉴权/CORS整改。
- 可回滚:每次合并都可独立回退。
- 分支约束:AI 改动统一先在
wangcai分支提交。
4. 决策待办(D0 必须拍板)
- Portal API 以
sayclaw-backend/portal-api还是sayclaw-portal为主? - Portal 前端以
sayclaw-app还是sayclaw/apps/sayclaw-portal-frontend为主? - 队列表标准名:
task_queue还是admin_tasks? - 认证统一入口:Google IAP / OIDC 验签实现位置。
5. 两周执行路线
Week 1:安全与边界冻结
- D1-D2:冻结主实现仓(写 ADR)
- D2-D3:移除硬编码 secrets(改 Secret Manager / CI Variables)
- D3-D4:统一鉴权中间件(admin + portal)
- D4-D5:统一 CORS 白名单与环境配置
交付物:
- ADR 文档
- 安全整改 MR
- 鉴权统一 MR
Week 2:代码收敛与发布闭环
- D6-D8:重复模块归并(Portal API/Portal FE)
- D8-D9:调度模型与任务状态机统一
- D9-D10:补回归矩阵 + 发布清单 + 回滚演练
交付物:
- 收敛 MR(含迁移说明)
- 回归报告
- 发布与回滚手册
6. 风险与应对
-
风险:收敛导致短期开发停滞
- 应对:双轨制(维护分支 + 收敛分支)
-
风险:接口变更影响前端
- 应对:先适配层,后替换主链路
-
风险:文档落后于代码
- 应对:MR 模板增加“文档变更检查项”
7. 完成定义(DoD)
- 每个能力只有 1 个主实现仓。
- 无生产可用默认密钥。
- 统一鉴权与 CORS 生效。
- 发布流程具备可验证回滚。
- 文档与代码一致性通过抽检。