AI API receipt · vllm-project/vllm
vllm-project/vllm#60865 · upstream bug reproduced by running the issue's own reproduction
✓ Badgr rejects this response
The model emitted a dots function call for get_weather; the parser returned tools_called=False and the call never reached the client (reproduced on vLLM 0.30.0).
Outcome contract verdict: required tool call is missing. 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: "<dots_function_call><invoke name=\"get_weather\"><parameter name=\"location\">Tokyo</parameter></invoke></dots_function_call>" tool_calls: none tools: ["get_weather"] tool_choice: "required"
Written by Badgr’s receipt ledger and read back from GET /v1/receipts/replay-vllm-60865-dots-parser-drops-tool-call.
{
"request_id": "replay-vllm-60865-dots-parser-drops-tool-call",
"status": "failed",
"endpoint": "/v1/chat/completions",
"stream": false,
"failure_stage": "outcome_contract",
"error_code": "invalid_outcome",
"error_message": "Response did not satisfy the outcome contract: required tool call is missing",
"retryable": true,
"provider_mode": "replay",
"routing_decision": "replayed_upstream_output",
"created_at": "1791679612.987413"
}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