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

   ## What
   
   Follow-up to #430 (merged): make `pr-management-quick-merge` actually work 
against a real `ready for maintainer review` queue by fixing how it resolves 
mergeability.
   
   ## Why
   
   A dry-run of the merged skill against the live Apache Airflow `ready` queue 
(204 PRs) surfaced **0 candidates** — because GitHub's batched `mergeable` / 
`mergeStateStatus` is unreliable at queue scale. In a single batched search, 
most ready PRs come back `mergeStateStatus == BLOCKED` (branch protection 
withholding the merge pending the required committer approval they don't have 
yet) or `UNKNOWN` (GitHub computes mergeability lazily). The original Stage-1 
gate dropped **177 of 204** ready PRs on mergeability — almost none of them 
actually conflicting.
   
   ## Changes
   
   - **Stage 1 no longer gates on batch `mergeStateStatus`.** It only 
early-drops PRs whose batch `mergeable == CONFLICTING` (a cheap cull of the 
obviously-conflicted).
   - **New Stage 3 — live merge-readiness.** For each post-triviality survivor 
(a handful, not the whole queue), one `GET /repos/<repo>/pulls/<N>` forces 
GitHub to compute `mergeable` + `mergeable_state` fresh. Cheap, and 
authoritative.
   - **`mergeStateStatus == blocked` is recognised as "needs your approval", 
not a drop.** A trivial, all-green PR whose branch merges cleanly but lacks a 
committer approval is exactly the skill's `[A]pprove`-then-merge case — its 
primary output, not an exclusion. Confirmed via `reviewDecision == 
REVIEW_REQUIRED`.
   - **Presentation splits into two buckets:** *ready-to-merge* and 
*needs-your-approval-then-merge*.
   - **Drop taxonomy** gains `gate:G5-conflict` (genuine conflict) and 
`gate:G5-unknown` (still computing — qualifies next run).
   - Golden rule 2 and Step 2 updated (two-stage → three-stage screen).
   
   ## Validation
   
   Re-ran against the live queue after the change: correctly surfaced 4 genuine 
candidates (1 mergeable-now, 3 blocked-on-approval) out of 204 — all trivial, 
CI-green, supplementary-path. `skill-and-tool-validate` passes clean on the 
skill's files.
   
   Suggested labels: `area:pr-management`, `capability:triage`, `kind:policy`.
   
   ---
   Generated-by: Claude Code (Opus 4.8)
   


-- 
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