Skip to content

Release 2.0.79 (2026-06-02)

Bug fixes

  • fail on red checks, not just mergeStateStatus vrg-wait-until-green blocked until checks reached a terminal state via gh pr checks --watch, then derived its green/red verdict solely from mergeStateStatus. That coupling is the false-green: --watch (without --fail-fast) exits 0 even when a check fails (its exit code 8 means pending, not failure), and mergeStateStatus can lag after checks settle or be masked by branch-protection configuration — so a BLOCKED PR with failing required checks could be reported ready.

Add github.failed_check_names(), which reads each check's bucket via gh pr checks --json name,bucket (tolerating gh's non-zero exit and deriving the verdict from the data, not the exit code). main() now gates on the actual check conclusions before the mergeStateStatus check, which is retained as defense-in-depth. Empty gh output is surfaced as an error rather than silently treated as a pass.

Reconcile the module docstring, which still claimed a --fail-fast wrap that was removed in 2e0bc0eb.