SuperAPI AI 工具集

validate-release-green

测试与质量

查看项目

更新于 10-22 16:16

技能介绍

用途

validate-release-green 是一个本地 Release-Green 观察器技能,用于针对确切的 base 或组合 PR 候选,运行或检查发布就绪状态,将硬性失败(HARD)、建议性漂移(DRIFT)和不完整证据分开呈现。它帮助判断候选是否满足特定 profile 的检查,但不承诺与所有 CI 工作流通道对等。

主要能力

  • 解析当前 base 与候选 SHA,并使用隔离 worktree 进行验证,观察的是实际工作树而非抽象分支名。
  • 支持选择并执行观察器的不同 profile,例如在候选提供相应脚本时:
    • npm run check:release-green -- --quick:部分快速诊断。
    • npm run check:release-green -- --full-ci --with-build --hermetic --json:观察器更广泛的静态/测试/打包 profile,仍不保证与每个工作流通道对等。
  • 区分 HARD(观察器的阻塞分类)与 DRIFT(诊断分类),并强调单独一类不能证明因果关系。
  • 要求在确切的 base 上比较同一要求,再判断缺陷是否由贡献者引入。
  • 保留 stdout/stderr、进程回执与验证器自身的退出码;即使外层任务显示绿色,也要求阅读报告。
  • 对于机器报告,可在候选上使用 scripts/ci/release-green-result.mjs 检查观察到的退出码、确切 SHA 与事件/profile,需提供运行中的实际值而非编造退出码。

使用方式

  1. 在解读远程状态或归因失败前,先阅读 ../_shared/base-green.md。
  2. 解析当前 base 与候选 SHA,使用隔离 worktree。
  3. 在选择标志前,检查 scripts/quality/validate-release-green.mjs、其 npm 入口点以及候选的工作流。
  4. 在具有物理依赖的 worktree 中构建,不要使用外部 node_modules 符号链接。
  5. 执行所选 profile 命令,保留原始日志与产物位置。
  6. 阅读报告,记录 SHA、profile、命令、版本、原始日志/产物位置、硬性失败、漂移、不完整通道与因果置信度。
  7. 在将结果用于后续决策前,重新查询实时引用。

适用场景

  • 在本地快速诊断某个 PR 候选的发布就绪状态。
  • 区分阻塞性失败与建议性诊断信息。
  • 在归因缺陷前,与确切 base 进行对比。
  • 生成机器可读的发布绿色结果报告(在候选提供相应脚本时)。

限制

  • 绿色本地 profile 仅表示该 profile 通过,不覆盖其余通道(如相关 Node/Vitest 套件、覆盖率、安全、构建、包/启动及外部检查)。
  • 不得基于聚焦运行、草稿跳过、已关闭事件或旧 head SHA 标记 merge-ready 或 pre-greened。
  • 报告验证器不能确立被省略的工作流要求已运行。
  • 完整当前观察器 PASS 只能通过授权工作流解决其自身事件,不能关闭无关要求或授权合并、基线变更、发布或部署。
  • 该技能为诊断性质;仅当用户要求更改时才实现修复。需保持阈值、断言、贡献者信用与行动边界不变。
  • 缺失、矛盾、过期、取消或超时的证据不能确立 PASS。
  • 版本化静态门禁清单(若存在)描述静态扫描成员,而非所有观察器或准入任务;需明确报告未建模的覆盖范围。