# 线上实施、验证与治理 ## 目录 1. 安全边界 2. 项目盘点 3. 规则应用 4. 隔离验证 5. 故障诊断 6. 回滚 7. 运行治理 ## 1. 安全边界 - 只操作明确授权的组织、项目、工作项类型和测试资产。 - 复用已登录会话,不记录账号、密码、Cookie、Token、OTP、私钥或签名材料。 - 不修改现有prod流水线;回调实验只改test副本。 - 不删除测试需求、分支、MR、流水线或规则,除非另有授权。 - 保留无关规则和用户修改。 ## 2. 项目盘点 先记录`flow_model=stage_tasks`或`flow_model=oneos_delivery`。发现两套规则同时启用时判定为迁移中,不按规则名称猜测主模型。 对每个项目独立记录: | 类别 | 必查内容 | |---|---| | 项目 | 精确项目名、项目ID、工作项类型 | | 工作流 | 全部状态、顺序、发布状态、终态 | | 阶段任务 | 设计/开发/测试任务类型、状态、标签、父子/关联关系、自动创建能力 | | 标签 | `分析`、`设计`、`开发`、`测试` | | 规则 | 名称、事件、条件、动作、顺序、启用、执行账号、后继规则 | | Codeup | 前后端仓库、集成、Webhook、真实`dev/develop` | | 流水线 | test/prod名称、环境、部署阶段、副本能力 | | 发布 | 发布变更关系、目标环境、完成状态 | | 测试 | 计划范围、用例状态枚举、需求关系 | | 缺陷 | 已修复、复测、关闭态、重开态、权限 | 两个项目只复制逻辑,不复制内部ID、仓库、分支、流水线、规则ID或观察证据。 OneOS终态迁移还要盘点:`待测试/发布中/发布失败`状态缺口、主任务身份方式、任务工作流方案A/B、原生规则能否过滤关联任务身份、Y/A控制负责人和幂等键。门禁未齐时保留可用旧规则,只停用会绕过验收或造成已确认误触发的规则。 ## 3. 规则应用 1. 导出或截图现有规则和启用状态。 2. 识别后继规则和可能的连锁路径。 3. 创建缺失阶段标签。 4. 一次只创建或修改一条规则。 5. 设置精确触发、当前状态、需求标签、其他条件和目标动作。 6. 保存后重新打开,核对全部字段、顺序、启用状态和执行账号。 7. 把真实字段写回该项目`rule_instances`。 8. 触发最小事件,等待5–30秒。 9. 查看状态、研发资产、执行日志和二次流转。 10. 记录证据后再处理下一条。 手工推进只能标记为“测试准备动作”,不能伪造规则通过。 ## 4. 隔离验证 测试需求命名示例: ```text [自动化测试] 产品类需求生命周期验证-YYYYMMDD ``` | 用例 | 操作 | 期望 | 负向检查 | |---|---|---|---| | T01 | 已确认+分析标签+关联任务 | 分析中 | 无标签不流转 | | T02 | 完成分析任务 | 分析完成 | 零任务不误触发 | | T03 | 设计标签+关联任务 | 设计中 | 仅标题关键字不触发 | | T04 | 完成设计任务 | 设计完成 | 未完成任务阻塞 | | T04a | 设计完成后触发TK03 | 创建且只创建一个开发任务 | 重复事件不得重复创建 | | T04b | 开发任务正式关联需求 | 需求待开发、任务待处理 | 仅标题编号不触发 | | T05 | 开发标签+关联任务 | 待开发 | 错误当前状态不触发 | | T06 | 正式关联真实仓库分支 | 开发中 | 非关联分支不触发 | | T06a | 同一代码资产同时关联需求和开发任务 | 需求开发中、开发任务处理中 | 只关联需求不得声称任务已联动 | | T07 | 前后端各关联MR,只合并一个 | 保持开发中 | 不得提前完成 | | T08 | 全部相关MR合并 | 开发完成 | 仅提交不得完成 | | T08a | 全部相关MR同时关联开发任务并合并 | 开发任务已完成 | 部分仓库MR未合并时阻塞 | | T09 | 测试标签+关联测试任务 | 测试中 | 未来任务不应误阻塞 | | T09a | test流水线部署成功触发TK07 | 创建且只创建一个测试任务并进入处理中 | 流水线失败或重复回调不得创建 | | T10a | 执行全部用例并记录结果 | 每条有明确状态 | 未执行/阻塞/失败阻塞 | | T10b | 失败用例关联缺陷,改为已修复 | 保持测试中 | 未复测不得完成 | | T10c | 复测通过/失败 | 关闭并通过/重开并失败 | 用例缺陷状态一致 | | T11 | 发布变更完成/获批回调 | 发布完成状态 | 重复回调不重复推进 | | T12a | 进入发布完成后等待异步窗口 | 停留发布完成 | L01/L02不得误关闭 | | T12b | 完成正式业务验收 | 项目终态 | test或发布不能替代验收 | 结果只使用:`通过`、`异步通过`、`未触发`、`误触发`、`阻塞`。 ## 5. 故障诊断 按顺序检查: 1. 事件是否真实发生,而不是只有相似标题/标签。 2. 当前状态是否精确匹配。 3. 标签是否加在需求自身。 4. 任务、分支、MR、发布变更是否正式关联。 5. 仓库是否接入正确项目,Webhook是否有效。 6. 全部相关MR是否合并到真实集成分支。 7. 规则是否启用,执行账号是否有权限。 8. 执行日志是未匹配、失败还是排队。 9. 用例是否仍有未执行、阻塞或失败。 10. 缺陷是否仅到已修复,尚未复测关闭。 11. 目标状态是否触发后继/重复规则。 12. 是否发生`测试完成 → 发布完成 → 终态`瞬时连锁。 13. 是否等待合理异步窗口。 14. 是否误用另一个项目的内部ID或证据。 15. 缺陷与原用例在复测后的状态是否一致。 16. 需求状态变化是否遗漏对应阶段任务状态,或任务变化是否遗漏需求汇总。 17. 自动创建下一阶段任务是否具有需求ID+阶段类型幂等门禁。 18. 项目是否混用R/TK阶段模型与Y/A终态模型。 19. OneOS主任务是否唯一且可被规则可靠识别。 20. 是否缺少`待测试`、`发布中`、`发布失败`或重试流转边。 ## 6. 回滚 - 先禁用本次新增规则,再恢复修改前条件和动作。 - 保留变更前截图/导出和规则ID。 - 回调POC通过禁用副本回滚;删除需单独授权。 - 分支/MR等测试资产按仓库策略清理;删除需单独授权。 - 不覆盖与本次变更无关的规则。 ## 7. 运行治理 - 每季度复核规则账号、权限、启用状态和失败日志。 - 新增仓库时同步验证项目集成、Webhook和多仓库门禁。 - 状态、标签或工作项类型重命名后逐条复核依赖规则。 - 保护`master/main`和真实`dev/develop`。 - 监控超过7天无活动的需求分支,未经授权不删除。 - 分开统计自动流转时间与真实业务开始时间。 - 持续检查回调签名、时间戳、防重放、幂等和失败重试。