fix(sre): gate-check-v3 remove combined_state self-referential fallback #564

Merged
infra-sre merged 1 commits from sre/fix-gate-check-v3-combined-state-loop into main 2026-05-11 21:09:50 +00:00

1 Commits

Author SHA1 Message Date
6d66e854cf fix(sre): gate-check-v3 remove combined_state self-referential fallback
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 19s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 21s
qa-review / approved (pull_request) Failing after 21s
gate-check-v3 / gate-check (pull_request) Successful in 30s
security-review / approved (pull_request) Failing after 19s
sop-tier-check / tier-check (pull_request) Successful in 25s
CI / Detect changes (pull_request) Successful in 1m19s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m19s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 1m24s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m20s
CI / Platform (Go) (pull_request) Successful in 11s
CI / Canvas (Next.js) (pull_request) Successful in 11s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 1m24s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 8s
CI / Python Lint & Test (pull_request) Successful in 10s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 13s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 7s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 10s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 12s
CI / all-required (pull_request) Successful in 11s
audit-force-merge / audit (pull_request) Successful in 25s
The `elif ci_state == "failure"` fallback in signal_6_ci was creating a
self-referential failure loop: gate-check posts failure → combined_state
becomes failure → script re-blocks → posts failure again.

Root cause: combined_state is Gitea's aggregate over ALL commit statuses,
including gate-check-v3's own prior result. Using it as a fallback verdict
driver means the script gates on its own output.

Fix: remove the combined_state fallback. check_statuses already excludes
gate-check (Bug-1 fix from PR #547). Use failing_required as the sole
CI gate. If no required checks are defined on the branch, return CLEAR
rather than re-using combined_state which includes our own status.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:07:03 +00:00