diff --git a/docs/design/14-toolchain-skill-and-deploy.md b/docs/design/14-toolchain-skill-and-deploy.md index b514c5a..82ec85c 100644 --- a/docs/design/14-toolchain-skill-and-deploy.md +++ b/docs/design/14-toolchain-skill-and-deploy.md @@ -485,6 +485,7 @@ esac | **S3: CI 失败通知** | push 含 lint 错误的代码 | ci.yml 失败 → 写 PR 评论 → 中枢发 Mail | | **S4: 部署流程** | merge PR → push main | deploy.yml 自动跑 + 部署 + 健康检查 | | **S5: Issue 指派** | 创建 Issue 并指派 | 中枢发 Mail 给被指派人 | +| **S6: 幂等验证** | 重复触发同一 delivery_id Webhook | 第二次返回 200 duplicate,不创建重复 Mail | ### 6.3 实验项目 CI 配置 @@ -519,7 +520,9 @@ jobs: ### 7.1 P1 阶段(启用后 2 周)— 只报告不阻断 -**零改动**。当前 deploy.yml 的 ci job 已包含 `--cov-report=term-missing`。 +**零改动**。当前 deploy.yml 的 ci job 已包含 `--cov=src --cov-report=term-missing`(push main 时自动跑)。 + +注意:ci.yml(非 main 分支)没有 coverage 配置——快速门控不需要覆盖率,这是有意为之。 收集基线数据后决定 P2 阈值。 @@ -567,12 +570,36 @@ Gitea v1.23.4 自带完整的 CI 管理界面: --- -## §10. 评审清单 +## §10. 前置条件 Checklist -请仲达重点审查: +工具链投入使用前必须确认: -1. **L1 按角色分配是否合理**:开发者/审查者/协调者/运维的 API 覆盖是否完整,有无冗余 -2. **L2 升级内容是否足够**:7 个 Skill 的改动是否覆盖了事件中枢集成所需的所有知识 -3. **deploy.sh 设计是否完整**:接口是否统一、回滚是否可靠、健康检查是否合理 -4. **验证场景是否覆盖关键路径**:S1-S5 是否覆盖了工具链的所有核心场景 -5. **有没有遗漏的前置条件**:比如 Gitea secret 配置、分支保护开启等 +| # | 条件 | 状态 | 谁确认 | +|---|------|------|--------| +| 1 | act-runner 已注册且 label = `macos-arm64` | ✅ CI 已跑过 24 次 | 已确认 | +| 2 | Gitea repository secrets 已配置(CI_TOKEN) | ⚠️ 需确认 | 姜维 | +| 3 | Gitea 组织级 Webhook 已启用(Hook ID=28) | ✅ 已确认 | 已确认 | +| 4 | 各 Agent 的 GITEA_TOKEN 环境变量 | ⚠️ 待分配 | 庞统协调 | +| 5 | main 分支保护规则(Review 才能 merge) | ⚠️ 需确认 | 姜维 | +| 6 | 禁止在 daemon 运行时跑全量 E2E | ✅ 已警告司马懿 | 已确认 | + +> 第 5 点很关键——如果 main 分支没有保护规则,开发者可以直接 push main 跳过 Review。 + +--- + +## §11. 评审记录 + +### v1.0 → v1.1 修订清单(仲达评审) + +| 编号 | 类型 | 问题 | 修订内容 | +|------|------|------|----------| +| M1 | 必须修 | rsync --delete 会删 data/ | §5.1 --exclude 加 `data` + `node_modules` | +| M2 | 必须修 | runs-on 与实际环境不一致 | 实际 ci.yml/deploy.yml 已用 `macos-arm64`,CI 已跑通,属仲达误判。文档 §6.3 已明确说明 | +| S1 | 建议 | rollback commit 获取有竞态 | §5.1 rollback 改用 DEPLOY_OVERRIDE_COMMIT 显式传递,不依赖 git HEAD | +| S2 | 建议 | pip install 缺 lock file | 采纳但 P3,当前单一部署环境风险低 | +| S3 | 建议 | 缺前置条件 checklist | 新增 §10 前置条件 Checklist | +| S4 | 建议 | 验证场景补 S6 幂等 | §6.2 新增 S6 幂等验证场景 | +| — | 评审 | 庞统模板缺关闭 Issue curl | §3.3 C 节补关闭 Issue 模板 | +| — | 评审 | testing-workflow 加广播风暴禁止 | §4.2 testing-workflow 补充约束 | +| — | 评审 | ci-cd-ops 行数估算措辞 | 修正:重写后预计 ~120 行(原 114 行) | +| — | 评审 | 覆盖率 P1 前提需确认 | §7.1 明确指出 deploy.yml 已有 coverage,ci.yml 有意不加 |