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]
