potiuk opened a new pull request, #346: URL: https://github.com/apache/airflow-steward/pull/346
## Summary - Restructure PR triage from per-page interactive loop to fetch-all → classify-once → present-groups. Step 1 walks every page until `hasNextPage=false` without prompting; Step 2 classifies the full set; Step 3 forms groups that span the entire queue. - A `mark-ready` group can carry 30+ PRs across what was previously six pages — one screen, one decision. - Add `Bash(gh api graphql *)` to `permissions.allow` (in `.claude/settings.json`, `tools/sandbox-lint/expected.json` baseline, and the isolation-setup template at `docs/setup/secure-agent-setup.md`) so the read-only fetch loop bypasses the `-F`/`-f` ask rules. Mutations still hit ask. ## Why The per-page loop forced context-switching between action classes (mark-ready on page 1, draft on page 2, back to mark-ready on page 3, …) and required maintainer attention throughout the long fetch phase. Running the skill against the Apache Airflow queue (200+ open PRs) made the cost visible — maintainer attention was the bottleneck, not GraphQL budget. Fetching everything up front lets the maintainer walk away during the long fetch, then come back to one batched decision per action class. ## Out of scope `issue-triage` and `security-issue-triage` would benefit from the same refactor; left untouched here to keep this PR's scope tight. ## Test plan - [ ] `skill-and-tool-validate` exits 0 (verified locally on the touched files; pre-existing soft warnings in unrelated skills are not introduced here). - [ ] `pytest (sandbox-lint)` passes — `expected.json` baseline updated in lockstep with `.claude/settings.json`. - [ ] Run a triage pass on a small queue (e.g. `triage label:area:scheduler`) to confirm the fetch loop ends cleanly and groups present across the result set. - [ ] Confirm `gh api graphql *` calls during the fetch loop no longer prompt under the new allow rule. -- 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]
