SIGN IN SIGN UP

fix(analyzer): retry provider-selection failures in fallback chain (#11)

The latest analyzer run completed but every commit fell back to the
same low-confidence NEEDS_REVIEW reason:

  Classification failed: No allowed providers are available for the selected model.

That message comes from the primary provider/model selection step on
OpenRouter. The previous classifyError() implementation only treated
HTTP-like quota/context failures as retriable (429 / 402 / 403 quota /
400 context). Provider-selection failures were considered terminal,
which stopped the chain before it could fall through to NVIDIA NIM or
GitHub Models.

Add isProviderSelectionFailure() and classify the following as retriable:
  * "No allowed providers are available for the selected model"
  * "No such provider"

Handle it in both branches:
  * APICallError path (message may live in responseBody)
  * non-APICallError path (message-only errors)

This keeps genuine configuration failures loud while allowing the chain
semantics to work as intended: if OpenRouter rejects the selected free
model, try NVIDIA next instead of collapsing the whole release window
into 116 low-confidence NEEDS_REVIEW results.
V
Vacbo committed
b84199a5798226f260535cb43a981bee0bf7d014
Parent: 6599159
Committed by GitHub <noreply@github.com> on 4/17/2026, 11:08:19 PM