potiuk opened a new pull request, #112:
URL: https://github.com/apache/airflow-steward/pull/112

   ## Summary
   
   The `?status=action_required` query parameter on `GET 
/repos/{owner}/{repo}/actions/runs` does not return runs awaiting maintainer 
approval. GitHub returns those runs as `status: "completed"` with `conclusion: 
"action_required"` (the queueing phase is finished, but the run is blocked 
pending approval).
   
   The triage skill used `?status=action_required` in 4 places — none of them 
returned anything, which let `pending_workflow_approval` PRs slip through 
classification as `passing` and would have caused the `mark-ready` guard to 
silently fail-open.
   
   ## Empirical evidence
   
   Hit live during a triage sweep on `apache/airflow` today: the mandatory 
`action_required` REST index missed 13 pending workflow runs across 4 
first-time-contributor PRs (caught by the rollup-pattern Real-CI guard, but 
only because all 4 had no real CI in the rollup). One of the two 
`mark-ready`-classified PRs (#65974) had 3 pending workflow runs at its head 
SHA — the broken pre-check would have label-added it as ready for review.
   
   ## Changes
   
   Replace `?status=action_required` with `?per_page=N` + jq post-filter 
`select(.conclusion == "action_required")` in 4 places:
   
   - `fetch-and-batch.md` — mandatory per-page REST index
   - `actions.md` — `mark-ready` pre-mutation guard
   - `actions.md` — `mark-ready-with-ping` pre-mutation guard
   - `actions.md` — `approve-workflow` recipe (used to discover the run IDs to 
approve)
   
   Add explanatory text in `fetch-and-batch.md` and inline comments in the 
recipes so a future reader doesn't reintroduce the broken filter.
   
   The `gh api -X POST .../approve` mutation itself works against runs in this 
state (verified: 16 successful approvals during the same triage sweep) — only 
the discovery query was broken.
   
   ## Test plan
   
   - [x] Visual diff review — all 4 buggy uses replaced; explanatory text only 
references the broken filter to warn against it
   - [x] `prek run --files` passes (markdownlint, skill-validate, etc.)
   - [x] Verified the corrected jq filter returns the expected runs against 
`apache/airflow` (16 runs across 5 PRs)
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.7)
   
   Generated-by: Claude Code (Opus 4.7) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to