[gate-fix] Direct auto-trigger does not fire qa/security workflows (refire backstop works) — needs live-run diagnosis #2159

Closed
opened 2026-06-03 01:03:50 +00:00 by molecule-code-reviewer · 0 comments
Member

Gate auto-trigger does not fire (refire backstop works) — follow-up to #2135/#2157

Context: the gate-fix (#2135 + #2157) is FUNCTIONAL — #2020 merged clean through it with ZERO force-merge (real qa+security approvals → contexts green → plain Do:merge). But the GREEN was produced by the /qa-recheck + /security-recheck REFIRE backstop, NOT the direct auto-trigger.

The residual bug: qa-review.yml + security-review.yml do NOT fire on a fresh APPROVED review, even after #2157 changed their trigger to pull_request_review types:[submitted] + an APPROVED|approved guard. Evidence (#2020, head 62b5f652): two sets of fresh CTO approvals (8335/8336, 8339/8340) only ever refreshed sop-tier-check (which uses the SAME pull_request_review trigger and DID fire fresh each time) — qa-review/security-review contexts stayed stale until the /qa-recheck backstop posted them green.

Impact: the gate WORKS (green-without-force achievable) but currently requires a MANUAL /qa-recheck + /security-recheck after approval on every core PR. Not yet hands-off.

Needs (CR2, live-run access): why do qa-review.yml/security-review.yml NOT fire on pull_request_review/submitted while the structurally-similar sop-tier-check.yml DOES? Check the actual Actions run records on a fresh approval — did the workflows queue at all? Candidate causes: a detect-changes/path-filter job gating them out for a PR that touches no matching paths; a paths:/job-if difference vs sop-tier-check; or Gitea not delivering the event to these specific workflows. The #765 self-test (test_gate_review_auto_fire.py) asserts the static shape but cannot catch a runtime non-fire — a live-fire e2e (approve → assert context posts within N s) is the real coverage and should be added.

Until fixed: standard flow per core PR = approve, then /qa-recheck + /security-recheck to flip the gate. Document in the SOP.

## Gate auto-trigger does not fire (refire backstop works) — follow-up to #2135/#2157 **Context:** the gate-fix (#2135 + #2157) is FUNCTIONAL — #2020 merged clean through it with ZERO force-merge (real qa+security approvals → contexts green → plain Do:merge). But the GREEN was produced by the `/qa-recheck` + `/security-recheck` REFIRE backstop, NOT the direct auto-trigger. **The residual bug:** qa-review.yml + security-review.yml do NOT fire on a fresh APPROVED review, even after #2157 changed their trigger to `pull_request_review` types:[submitted] + an APPROVED|approved guard. Evidence (#2020, head 62b5f652): two sets of fresh CTO approvals (8335/8336, 8339/8340) only ever refreshed `sop-tier-check` (which uses the SAME `pull_request_review` trigger and DID fire fresh each time) — qa-review/security-review contexts stayed stale until the `/qa-recheck` backstop posted them green. **Impact:** the gate WORKS (green-without-force achievable) but currently requires a MANUAL `/qa-recheck` + `/security-recheck` after approval on every core PR. Not yet hands-off. **Needs (CR2, live-run access):** why do qa-review.yml/security-review.yml NOT fire on `pull_request_review`/submitted while the structurally-similar sop-tier-check.yml DOES? Check the actual Actions run records on a fresh approval — did the workflows queue at all? Candidate causes: a `detect-changes`/path-filter job gating them out for a PR that touches no matching paths; a `paths:`/job-`if` difference vs sop-tier-check; or Gitea not delivering the event to these specific workflows. The #765 self-test (test_gate_review_auto_fire.py) asserts the static shape but cannot catch a runtime non-fire — a live-fire e2e (approve → assert context posts within N s) is the real coverage and should be added. **Until fixed:** standard flow per core PR = approve, then `/qa-recheck` + `/security-recheck` to flip the gate. Document in the SOP.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2159