Skip to content

feat(core): add RetryManager state machine for TAPI backoff/retry#1158

Open
abueide wants to merge 1 commit intotapi/config-and-settingsfrom
tapi/retry-manager
Open

feat(core): add RetryManager state machine for TAPI backoff/retry#1158
abueide wants to merge 1 commit intotapi/config-and-settingsfrom
tapi/retry-manager

Conversation

@abueide
Copy link
Contributor

@abueide abueide commented Mar 10, 2026

Summary

  • Add RetryManager class with three states: READY, RATE_LIMITED, BACKING_OFF
  • Handles 429 rate limiting with Retry-After header parsing and configurable max intervals
  • Implements exponential backoff with jitter for transient errors (5xx)
  • Uses sovran store for state persistence across app restarts
  • Supports eager/lazy retry strategies for concurrent batch error consolidation
  • Includes autoFlush callback for automatic retry scheduling
  • Add barrel export and test helper utilities

PR 3 of 5 in the TAPI backoff/retry stack. Depends on #1157. Tests follow in PR 4.

Test plan

  • npx tsc --noEmit — no type errors
  • npx eslint — 0 errors
  • Full test suite in PR 4

🤖 Generated with Claude Code

Add RetryManager with three states (READY, RATE_LIMITED, BACKING_OFF)
that handles 429 rate limiting with Retry-After parsing and transient
error exponential backoff with jitter. Includes sovran-based state
persistence and configurable retry strategies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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