fix(cat): the health probe asked Groq for a decommissioned model - #1007
Merged
Conversation
probeGroq pinned `llama-3.1-8b-instant`. groq-models.ts names that retirement in its own comments — Groq withdrew the whole llama-3.x family — and the id appears nowhere else in the codebase except those comments. So the Groq health probe has been asking for a model that does not exist, and `catCanAnswer` and `groqCanServeCatPrompt` are derived from its answer. The OpenRouter probe immediately below it already carries the fix and the reason: "a hardcoded id here once drifted from the registry and kept 'passing' while chat 404'd (and later kept 'failing' after the registry was fixed)". The lesson was applied to one probe and not its neighbour — the same asymmetry that left Groq without a catalogue check until #1004. It now probes PLATFORM_GROQ_MODEL, the model the platform chain actually serves a free user, so the health status tests something a user depends on. A gate pins that neither probe carries a literal model id. Also corrects a claim I made in #1003: that route's comment said the check "costs no tokens". The catalogue checks are GET /models and cost nothing, but probeGroq and probeOpenRouter send REAL chat completions — a few tokens each, from the same free pools the check exists to protect. Cheap, not free, which is why it runs daily rather than hourly. Verified: 2930 unit tests green, type-check and lint clean. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJRuvHJEBd8t7iRA9Sb1iw
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
probeGroqpinnedllama-3.1-8b-instant.groq-models.tsnames that retirement in its own comments — Groq withdrew the whole llama-3.x family — and the id appears nowhere else in the codebase except those comments. So the Groq health probe has been asking for a model that does not exist, andcatCanAnswer/groqCanServeCatPromptare derived from its answer.The fix was already written, one function below
The OpenRouter probe immediately beneath it carries both the fix and the reason:
The lesson was applied to one probe and not its neighbour — the same asymmetry that left Groq without a catalogue check until #1004.
It now probes
PLATFORM_GROQ_MODEL, the model the platform chain actually serves a free user, so the health status tests something a user depends on. A gate pins that neither probe carries a literal model id.Also corrects a claim I made in #1003
That route's comment said the check "costs no tokens". The catalogue checks are
GET /modelsand cost nothing, butprobeGroqandprobeOpenRoutersend real chat completions — a few tokens each, from the same free pools the check exists to protect.Cheap, not free. Which is why it runs daily rather than hourly, and why the alert coalesces rather than stacking a row per run.
Verified
2930 unit tests green, type-check and lint clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01HJRuvHJEBd8t7iRA9Sb1iw