Categorize all spawn failures into actionable failure types#594
Conversation
…01, AGENT-002) - spawner.py: import classify_spawn_error/RetryStrategy; break inner retry loop immediately for NO_RETRY and RETRY_AFTER_FIX errors (adapter not installed, permission denied) instead of trying alternate providers - worktree.py: call validate_worktree_isolation() after create(); cleanup and raise WorktreeError if .sdd symlink, mutable-state symlink, or hardlink violations are detected Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI Review (Gemini)Gemini review could not be generated (HTTP 503). |
AI Review (GitHub Models)SummaryThis pull request categorizes spawn failures into actionable types, enhancing the error-handling logic in the Risk AssessmentMedium Actionable Recommendations
|
CI Summary
Coverage and detailed reports are available via Codecov and the Checks tab. |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (2 files)
Reviewed by grok-code-fast-1 · 132,835 tokens |
|
…01, AGENT-002) (#594) - spawner.py: import classify_spawn_error/RetryStrategy; break inner retry loop immediately for NO_RETRY and RETRY_AFTER_FIX errors (adapter not installed, permission denied) instead of trying alternate providers - worktree.py: call validate_worktree_isolation() after create(); cleanup and raise WorktreeError if .sdd symlink, mutable-state symlink, or hardlink violations are detected Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>



Categorize all spawn failures into actionable failure types
Categorize all spawn failures into actionable failure types
Description
SpawnErrorandRateLimitErrorare the only spawn exception types. AddAdapterNotInstalledError,ModelNotAvailableError,PromptTooLongError,WorktreeCreationError,PermissionDeniedError, andResourceExhaustedError. The spawner uses the category to decide retry strategy (retry vs escalate vs fail-fast).Role: backend
Model: sonnet
Generated by Bernstein — task
5c123ee1a0cf