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

   ## Summary
   
   - Bulk sync (`sync all`, `sync announced`, etc.) currently dispatches a full 
subagent per resolved tracker — ~50 KB of transcript apiece — even when the 
tracker is in steady state and the subagent's whole report is empty.
   - This change inserts a **Step 1b pre-flight classifier** between 
selector-resolution and subagent dispatch. One batched `gh api graphql` 
round-trip fetches `state` / `closedAt` / `updatedAt` / `labels` / last-comment 
for every resolved issue at once (aliased multi-field query: ~3 KB request, ~6 
KB response for 30 issues). A conservative rule table classifies each as 
`dispatch` / `dispatch-urgent` / `skip-noop`; only the non-skipped ones get 
subagents.
   - Expected savings on a 20-tracker bulk sweep where ~30-50% are idle: 6-10 
fewer subagents × ~50 KB = ~300-500 KB of context per sweep.
   
   ## Safety
   
   - **Conservative rules** — `skip-noop` fires only when multiple signals 
align (closed AND age AND label set AND inactive comment AND bot last 
commenter).
   - **7-day `updatedAt` override** — never skip a tracker with recent 
activity, regardless of other signals.
   - **Set-resolving selectors only** — `sync #232, #233` (explicit numbers) 
never skips. Pre-flight applies to `sync all` / `sync announced` / label / 
title selectors.
   - **Never silent** — every skip appears in the proposal's *"Pre-flight 
skipped"* group with the rule that fired. The user can `force-sync <N>` any of 
them at confirmation.
   - **`--no-preflight`** opts out entirely.
   
   ## What this PR does NOT do
   
   - It does **not** decide *what action* a tracker needs — still the 
subagent's job. Pre-flight only decides whether spawning the subagent is worth 
it.
   - No Python tool added; the orchestrator builds the GraphQL query inline per 
the documented recipe. Rules can be tuned by editing the table.
   
   ## Test plan
   
   - [x] `lychee` on the edited file — clean
   - [x] `skill-and-tool-validate` — no new violations
   - [x] `prek` (markdownlint, typos, format, trailing whitespace) — green
   - [ ] CI lychee + tests-ok on this PR
   - [ ] Try a real `sync all` after merge to see the classifier in practice; 
tune rules if needed
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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