Skip to content

[Bug] Watch reports 'Board is clear' when GitHub API rate limit is hitΒ #806

Closed

Description

@tamirdresher

Problem

When squad watch hits a GitHub API rate limit, capabilities (triage, two-pass, execute, board) return empty data. The watch loop then reports:

πŸ“‹ Board is clear β€” Ralph is idling

This is misleading β€” the board isn't clear, the API just can't be reached.

Observed behavior

βœ— [11:57:35 AM] Check failed: GraphQL: API rate limit already exceeded for user ID 188938611.
⚠ [11:57:36 AM] two-pass: two-pass error: GraphQL: API rate limit already exceeded
⚠ [11:57:36 AM] execute: execute error: GraphQL: API rate limit already exceeded
πŸ“‹ Board is clear β€” Ralph is idling  ← WRONG, should say rate-limited

Expected behavior

When API errors occur, watch should:

  1. Report: ⚠ API rate limited β€” skipping this round (retry in {interval})
  2. NOT report 'Board is clear' β€” that implies no work exists
  3. Automatically increase interval (exponential backoff) until rate limit resets
  4. Check gh api rate_limit to show when limit resets

Additional context

  • EMU accounts (_microsoft suffix) have stricter rate limits
  • 2-minute interval with 4+ capabilities = 12+ API calls per 8 minutes
  • The circuit-breaker capability exists but doesn't catch this case

Activity

  1. added a commit that references this issue on Apr 7, 2026
    d191504
  2. added a commit that references this issue on Apr 13, 2026
    9aff59a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions