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.