Skip to content

fix(cat): the health probe asked Groq for a decommissioned model - #1007

Merged
catomean merged 1 commit into
mainfrom
fix/probe-a-model-that-exists
Sep 13, 2026
Merged

fix(cat): the health probe asked Groq for a decommissioned model#1007
catomean merged 1 commit into
mainfrom
fix/probe-a-model-that-exists

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

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 / groqCanServeCatPrompt are 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:

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, 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

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
@catomean
catomean merged commit 9d1b59e into main Sep 13, 2026
6 checks passed
@catomean
catomean deleted the fix/probe-a-model-that-exists branch September 13, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant