v9.14.0 — Provider Reliability Layer
Added
- Circuit breaker with persistent state — Provider failure tracking persists across sessions in
provider-state/. Opens after 3 transient failures or 1 permanent. Half-open probe after cooldown enables automatic recovery. - Spawn integration —
spawn_agent()checksis_provider_available()before dispatch, records success/failure to circuit, classifies errors as transient/permanent. - Error classification — HTTP codes and text patterns categorized: transient (429, 500, timeouts, rate limits) vs permanent (401, 403, billing, invalid model).
- Doctor circuit status —
/octo:doctorshows open circuit breakers and provider health. - Bash 3.2 compat fix —
classify_error()usestrinstead of${var,,}.
Test Results
- 129/129 test suites passing
- 30/30 provider reliability tests
Full Changelog: v9.13.0...v9.14.0