Observed failure
The shared release_pr_checks.py treats an empty PR check rollup immediately after approval as proof that approval did not work. The observed run disproves that assumption.
In Logismos run 33994213613, the helper approved three held runs for release PR #152 at 2026-09-05T21:51:02.391Z, then queried the rollup about 249 ms later (21:51:02.641Z) and failed with zero contexts. Its diagnostic asserts this is not transient.
Individual checks became visible at 21:51:04–06. A subsequent read showed 11 check runs. The approved Gate Attestation run 33994212723 and Security run 33994212836 completed successfully. GPU-denied run 33994212236 reached real checks and has its own failing check; that is distinct from an empty rollup or failed approval.
The caller permission cap was already repaired in Logismos #153. This run started, passed the helper's self-tests, and successfully approved runs. Further permission broadening is not supported by this evidence.
Desired correction
Boundedly poll for check-rollup materialization after approval/dispatch, distinguishing pending visibility from a terminal empty result. Do not wait for checks to turn green and do not report success on timeout. Use deterministic delayed-visibility tests plus permanent-empty and API-error cases; retain the fail-loud behavior for a genuine bounded failure. Remove the unsupported assertion that an immediate empty read cannot be transient.
No shared-reusable code or credentials were changed during this investigation. Source path: scripts/release_pr_checks.py in the reusable revision reached through release-pr-checks.yml at 5556cb9.
Observed failure
The shared
release_pr_checks.pytreats an empty PR check rollup immediately after approval as proof that approval did not work. The observed run disproves that assumption.In Logismos run 33994213613, the helper approved three held runs for release PR #152 at
2026-09-05T21:51:02.391Z, then queried the rollup about 249 ms later (21:51:02.641Z) and failed with zero contexts. Its diagnostic asserts this is not transient.Individual checks became visible at 21:51:04–06. A subsequent read showed 11 check runs. The approved Gate Attestation run 33994212723 and Security run 33994212836 completed successfully. GPU-denied run 33994212236 reached real checks and has its own failing check; that is distinct from an empty rollup or failed approval.
The caller permission cap was already repaired in Logismos #153. This run started, passed the helper's self-tests, and successfully approved runs. Further permission broadening is not supported by this evidence.
Desired correction
Boundedly poll for check-rollup materialization after approval/dispatch, distinguishing pending visibility from a terminal empty result. Do not wait for checks to turn green and do not report success on timeout. Use deterministic delayed-visibility tests plus permanent-empty and API-error cases; retain the fail-loud behavior for a genuine bounded failure. Remove the unsupported assertion that an immediate empty read cannot be transient.
No shared-reusable code or credentials were changed during this investigation. Source path:
scripts/release_pr_checks.pyin the reusable revision reached throughrelease-pr-checks.ymlat 5556cb9.