AI API receipt · BerriAI/litellm
BerriAI/litellm#45470 · upstream bug reproduced by running the issue's own reproduction
Badgr cannot tell this response is wrong
[text, tool_use, text] became [tool_use, text+text].
every tool call is complete and the schema is satisfied; message ordering is not checkable. If the caller supplies the expected value (item order text, tool_call, text), Badgr rejects it: items arrived in a different order than expected. The receipt therefore records success. This is a limit of what the contract can prove, shown here so it is not mistaken for protection.
The output the bug produces, taken from the issue’s reproduction and fed to Badgr’s validators. Not a live provider call.
text: "Let me check.(after)"
tool_calls: [{"type": "function", "function": {"name": "get_weather", "arguments": "{\"city\": \"Paris\"}"}}]
tools: ["get_weather"]
tool_choice: "auto"Written by Badgr’s receipt ledger and read back from GET /v1/receipts/replay-litellm-45470-reordered-assistant-turn.
{
"request_id": "replay-litellm-45470-reordered-assistant-turn",
"status": "success",
"endpoint": "/v1/chat/completions",
"stream": false,
"failure_stage": null,
"error_code": null,
"error_message": null,
"retryable": null,
"provider_mode": "replay",
"routing_decision": "replayed_upstream_output",
"created_at": "2026-10-09T02:14:36Z"
}Recorded 2026-10-09 in Badgr’s local development environment. Replay cases and verdicts are pinned by backend/test_ai_api_replay_cases.py.
← All AI API receipts