ci/woodpecker/pr/ci Pipeline failed
Gitea's combined-status endpoint returns statuses:null (not []) plus a synthetic aggregate state of "pending" for a commit with zero status contexts (captured live 2026-08-09). The bash parser called that payload malformed -> ASSERTED_NOT_READY exit 3, blocking every push to a CI-less repo; hit twice by velma on two independent clones (shared checkout + fresh sparse clone), proving it environment-independent. - treat statuses:null as empty (both .sh and .ps1) - classify zero contexts as no-status BEFORE consulting the synthetic aggregate state (both twins; honoring it would poll to timeout) - no-status on --purpose push without --require-status is now queue-clear exit 0 (a repo with no CI has no queue), mirroring record_cannot_assert dispositions (push=degraded-pass, merge=hold); merge + --require-status stay fail-closed at exit 3 - red-first regression harness test-ci-queue-wait-no-status.sh (5 cases, incl. the verbatim live Gitea payload and a genuine-pending guard); branch-absent harness still green Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_013SAYFkRhQfhguY7AHfiUC8