• Stefy Lanza (nextime / spora )'s avatar
    Treat CoderAI broker warm-up as wait-and-retry, not a provider failure · 578eeb9d
    Stefy Lanza (nextime / spora ) authored
    CoderAI workers often run on small/edge hardware that drops its broker
    session while cooling down to avoid overheating. A missing broker session
    ("No active CoderAI broker session...") was treated as a hard error:
    record_failure() was called in both the provider handler and the rotation
    loop, so three of them in one request disabled the provider for a 300s
    cooldown — exactly when it just needed a moment to warm back up.
    
    Now this transient condition is handled gracefully:
    - coderai.py no longer records a failure when the error is a missing broker
      session (in any request path), so it never counts toward the disable
      threshold.
    - The rotation handler detects the CoderAI warm-up condition and waits
      CODERAI_WARMUP_WAIT_SECONDS (10s) before retrying the same provider, up to
      CODERAI_MAX_WARMUP_WAITS (3) times, fully transparent to the client. Only
      after that does it fail over to the next provider — still without recording
      a failure.
    
    Bump version to 0.99.76.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    578eeb9d
pyproject.toml 2.12 KB