1. Every LLM call failed
All 176 scoring requests to Claude came back as 400 Bad Request, so the briefing would have been empty.
A minimal API call with the same key worked. Adding settings one at a time isolated temperature: the API now rejects it with "Extra inputs are not permitted". Horizon has a fallback that retries without temperature, but it only recognised older wordings of that error.
One line added to the error-matching function, so the existing fallback runs.
Every call succeeds on the first fallback. Failed requests aren't billed, so the broken run cost nothing.
src/ai/client.py · _is_temperature_unsupported() or "only 1 is allowed" in lowered + or "not permitted" in lowered # Anthropic: "temperature: Extra inputs are not permitted" )