AI API receipt · BerriAI/litellm
BerriAI/litellm#45718 · upstream bug reproduced by running the issue's own reproduction
✓ Badgr rejects this response
With one healthy deployment and an empty cooldown list, the sync call raised "No deployments available for selected model" while the async path resolved the same deployment (reproduced on LiteLLM 1.104.2).
Outcome contract verdict: response is empty. The attempt is recorded as failed (invalid_outcome) instead of a verified success, so it is not billed as a good answer and can fall back to another route.
The output the bug produces, taken from the issue’s reproduction and fed to Badgr’s validators. Not a live provider call.
text: none tool_calls: none
Written by Badgr’s receipt ledger and read back from GET /v1/receipts/replay-litellm-45718-cost-routing-sync-raises.
{
"request_id": "replay-litellm-45718-cost-routing-sync-raises",
"status": "failed",
"endpoint": "/v1/embeddings",
"stream": false,
"failure_stage": "outcome_contract",
"error_code": "invalid_outcome",
"error_message": "Response did not satisfy the outcome contract: response is empty",
"retryable": true,
"provider_mode": "replay",
"routing_decision": "replayed_upstream_output",
"created_at": "1791652209.3163478"
}Recorded 2026-10-11 in Badgr’s local development environment. Replay cases and verdicts are pinned by backend/test_ai_api_replay_cases.py.
← All AI API receipts