Delete clean_pr_body.txt

This commit is contained in:
Kenny 2026-01-14 15:27:48 -05:00 committed by GitHub
parent 951df07c0f
commit 2c4730f094
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,44 +0,0 @@
## Summary
Adds an automatic model fallback system that gracefully handles API failures by retrying with configured fallback models. When primary models fail due to transient errors (rate limits, 5xx, network issues), the system automatically retries with fallback models. Background tasks also properly support model fallback chains for reliability.
## Features
Automatic Fallback on Transient Errors:
- Rate limits and HTTP 429 errors
- Service unavailable (HTTP 503, 502)
- Capacity issues (overloaded, capacity, unavailable)
- Network errors (timeout, ECONNREFUSED, ENOTFOUND)
Non-model errors like authentication failures or invalid input are NOT retried.
Background Task Support:
- Background tasks properly use modelChain for fallback
- Ensures reliability for async operations
## Implementation Details
Core module src/features/model-fallback/ provides utilities for:
- parseModelString: Parse provider/model format
- buildModelChain: Build ordered list of models
- isModelError: Detect retryable errors
- withModelFallback: Generic retry wrapper with validation
- formatRetryErrors: Format error list for display
Integration with sisyphus-task includes updated resolveCategoryConfig, inline retry logic, and special handling for configuration errors.
## Fixes from Review
✅ maxAttempts validated with Math.max(1, ...) to prevent silent failures
✅ Error matching scoped to agent.name errors only
✅ Background LaunchInput supports modelChain
✅ BackgroundTask stores modelChain field
✅ Background manager passes modelChain to prompt execution
## Testing
✅ 36/36 model-fallback tests passing
✅ Build successful
✅ TypeScript types valid
This is a clean PR without auto-generated XML descriptions, fixing the authorship issue from PR #785.