Sweep reds 是一个 CI 失败修复技能,核心原则是“先基础分支,后受影响 PR”。成功标准是经过验证的必要检查真正通过,而不是故障记录消失或外层包装显示绿色。
使用流程分为两部分。第一部分是基础健康检查:以只读方式解析当前 main/release 引用和冻结状态,确认目标开发分支,冻结分支不可触碰;按共享的精确 SHA 证据协议执行检查,关闭或缺失的故障记录在缺乏当前有效执行证据时视为未知;在隔离的固定 base 上复现每个失败签名,将安装/环境失败与断言失败分开;每个可独立审查的修复使用单独的分支和工作树,并保留从 RED 到 GREEN 的证明,避免与其它会话的 PR 重复;在授权范围内准备并照看修复 PR,交给负责人,只有在修复被集成且新的精确 base 通过后才可声称基础已修复。
第二部分是 PR 队列处理:盘点请求中的开放 PR 及其当前 head/base/候选身份,将失败分为必要失败、建议性失败、挂起、过期、取消和待审批等类别,一次只处理一个 PR,每次改动前检查归属权限;继承的标签必须在精确 base 上测得相同签名,过期证据需要基于当前 base 重新构建候选;更新贡献者分支或批准 fork 运行需要单独授权。建议性检查只有在当前策略规定下才是非阻塞的,其失败可能是真实产品缺陷,不代表基础设施问题;只有当当前候选上所有必要的适用门禁通过且剩余风险已报告时,带有建议性失败的 PR 才可受理。
对于已证实的 PR 缺陷,采用 /babysit 修复纪律:复现 RED、最小修复、运行聚焦/受影响测试套件并完成候选验证,保留贡献者署名。若五次迭代仍不收敛,应报告证据和需要的负责人决策,然后继续处理其它符合条件的独立项,绝不把失败重新标记为绿色。
边界与限制:不得通过该技能合并、关闭 PR 或改变发布冻结状态;不得 stash、修改共享检出或触碰其它会话的活动工作树;不得削弱断言、扩大容差、压制失败或提高基线来让检查变绿;需要凭证或付费的实时测试、部署或信任审批必须获得相应负责人授权,缺少访问权限应记为 HOLD 而非 PASS。报告需记录 base 和 PR 的 SHA、失败签名与数量、因果置信度、提交、运行/尝试/产物证据、完整与部分验证情况以及挂起项,让建议性失败导致的未解决事项保持可见,并将准备好的 PR 与未决决策交给负责人,该技能不授权合并。