You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Watch: shared issue fetch across capabilities to reduce API rate limit usage #923
Feature: Shared issue fetch across capabilities in watch rounds
Problem
Each capability (execute, two-pass, wave-dispatch, board, etc.) independently calls gh issue list during a watch round. Running 7 capabilities × 4 repos = 28+ GraphQL calls per round. This burns through the 5000/hr rate limit fast — especially when polling every 10-15 minutes.
Observed calls in a single round:
Check: gh issue list --label squad --limit 20
two-pass: gh issue list --label squad --limit 200
execute: gh issue list --label squad --limit 50
wave-dispatch: gh issue list --label squad --limit 50
board: gh project item-list ...
Proposed fix
Fetch issues once per round at the top of the cycle, then pass the result to all capabilities as shared context. Each capability filters the shared data instead of making its own API call.
Something like:
// In the round runnerconstissues=awaitfetchSquadIssues(repo,200);// one callconstprojectItems=awaitfetchProjectBoard(owner);// one callfor(constcapabilityofenabledCapabilities){awaitcapability.run({ issues, projectItems, ...context});}
Impact
Would reduce API calls from ~5-7 per round to ~2 per round (issues + board). Critical for multi-repo setups.
Activity
fix(watch): shared issue fetch, Windows shell:true, agentCmd default (g…
fix: Windows shell:true, shared agent spawn module, round-level issue…
fix: Windows shell:true, shared agent spawn module, round-level issue…
fix(types): add roundData to WatchContext (#923)
bradygaster commentedon Apr 25, 2026
Closed by #theSquadsquad triage — verified fixed/superseded in v0.9.4.
refactor(cli): consolidate duplicated agent-spawn logic across watch …
chore: promote dev -> main (v0.12.0) (#1698)