The review of the backoff fix found two weak spots, both now closed:
- The circuit tests asserted only that _last_classifier_failure was still set
after the skipped second call. A skip that re-stamped the clock (holding the
circuit open for as long as traffic flows) would have passed. Both tests now
assert the timestamp is unchanged.
- test_local_decision_low_confidence_does_not_open_circuit tripped the
parse_logprobs coverage floor, not confidence_min, so the dispatcher's own
confidence raise had no test. Split in two: a new test that actually lands
below confidence_min (four equal letters, coverage 0.99, confidence 0.25),
and the old one renamed and re-documented as the coverage-floor case.
Mutation-checked in a scratch export: a skip that records, a confidence raise
that records, and recording on any exception each fail the intended tests.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkCGRantZsSwmcFpet6FTa