Skip to content

fix: retry ordinary 429s and recover dead LSP streams#120

Merged
davidrhodus merged 1 commit into
mainfrom
fix/rate-limit-backoff-and-lsp-stream-recovery
Jul 20, 2026
Merged

fix: retry ordinary 429s and recover dead LSP streams#120
davidrhodus merged 1 commit into
mainfrom
fix/rate-limit-backoff-and-lsp-stream-recovery

Conversation

@davidrhodus

Copy link
Copy Markdown
Contributor

Summary

  • Retry all RateLimit errors (not just overload-shaped ones) with exponential backoff up to 8 attempts (1s → 120s).
  • Poison LSP clients on closed stdout/write failure, respawn+retry document sync once, and fall back to cargo check when LSP only has transport failures.

Test plan

  • cargo test -p hi-agent rate_limit
  • cargo test -p hi-agent ordinary_rate
  • cargo test -p hi-agent overload
  • cargo test -p hi-lsp
  • cargo check -p hi-agent

Ordinary rate limits now share an 8-step exponential backoff budget, and
LSP clients poison+respawn on closed streams so fast-check falls back to
cargo instead of failing every file in the batch.
@davidrhodus
davidrhodus merged commit 8efa819 into main Jul 20, 2026
@davidrhodus
davidrhodus deleted the fix/rate-limit-backoff-and-lsp-stream-recovery branch July 20, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant