Skip to content

fix(catalog): restore Mistral model ids from the live /v1/models - #185

Open
Sy57em1 wants to merge 1 commit into
vava-nessa:mainfrom
Sy57em1:fix/mistral-catalog-live-ids
Open

Sy57em1 wants to merge 1 commit into
vava-nessa:mainfrom
Sy57em1:fix/mistral-catalog-live-ids

Conversation

@Sy57em1

@Sy57em1 Sy57em1 commented Sep 16, 2026

Copy link
Copy Markdown

Problem

All nine Mistral entries in sources.js return 400 invalid_model, so the whole provider is dead for anyone with a Mistral key.

400  mistral-large-3-25-12
400  mistral-medium-3-5-26-04
400  mistral-small-4-0-26-03
400  ministral-3-14b-25-12
400  ministral-3-8b-25-12
400  ministral-3-3b-25-12
400  mistral-small-creative-25-12
400  magistral-medium-1-2-25-09
403  zai-glm-5-2

The 2026-09-15 audit rewrote the previously working ids into a date-stamped form that La Plateforme does not accept (mistral-medium-3-5mistral-medium-3-5-26-04, ministral-14b-2512ministral-3-14b-25-12, and so on). Codestral was not touched by that audit, which is why it keeps working on the very same key — a useful signal that the key is fine and the ids are not.

Fix

Every id re-verified against a live GET https://api.mistral.ai/v1/models on a real Experiment-plan key.

Fixed (6):

Before After
mistral-medium-3-5-26-04 mistral-medium-3-5
mistral-small-4-0-26-03 mistral-small-2603
ministral-3-14b-25-12 ministral-14b-2512
ministral-3-8b-25-12 ministral-8b-2512
ministral-3-3b-25-12 ministral-3b-2512
magistral-medium-1-2-25-09 magistral-medium-latest

Removed (3):

  • mistral-large-3-25-12 — no large model exists in the live catalog under any name
  • zai-glm-5-2 — absent from /v1/models; a direct call returns 403 tier_not_allowed ("This model is not available in your subscription tier"), so it does not belong in a free catalog
  • mistral-small-creative-25-12 — absent from the live catalog

Context windows now come from each model's max_context_length instead of a blanket 256k, which corrects ministral-3b-2512 from 256k to 128k (131072).

Verification

Ping through FCM's own ping() after the change — no 400 left:

200  Ministral 3 14B
200  Ministral 3 8B
200  Ministral 3 3B
429  Mistral Medium 3.5      (free-tier daily limit, burned by this testing)
429  Magistral Medium
429  Mistral Small 4

429 means the id is valid and the model exists; the free tier was simply exhausted while verifying.

npm test1154/1154 passing.

One test needed updating: the temperature-clamp test in test/test.js pinned mistral-large-3-25-12 with a comment stating it is a real catalog model. Repointed at mistral-medium-3-5 with a note explaining why.

Notes

docs/providers.md is generated by scripts/generate-provider-table.mjs and still shows the old counts — I left it alone so the regeneration stays a separate, reviewable change.

Every one of the nine Mistral entries returned `400 invalid_model`, so the
whole provider was dead for anyone with a Mistral key.

The 2026-09-15 audit rewrote the working ids into a date-stamped form that
La Plateforme does not accept (`mistral-medium-3-5` -> `mistral-medium-3-5-26-04`,
`ministral-14b-2512` -> `ministral-3-14b-25-12`, and so on). Codestral was
untouched by that audit, which is why it kept working on the same key.

Re-verified every id against a live `GET https://api.mistral.ai/v1/models`
on a real Experiment-plan key:

Fixed (6):
  mistral-medium-3-5-26-04     -> mistral-medium-3-5
  mistral-small-4-0-26-03      -> mistral-small-2603
  ministral-3-14b-25-12        -> ministral-14b-2512
  ministral-3-8b-25-12         -> ministral-8b-2512
  ministral-3-3b-25-12         -> ministral-3b-2512
  magistral-medium-1-2-25-09   -> magistral-medium-latest

Removed (3):
  mistral-large-3-25-12        no `large` model exists in the live catalog
  zai-glm-5-2                  absent from /v1/models; a direct call returns
                               403 tier_not_allowed (paid tier only), so it
                               never belonged in a free catalog
  mistral-small-creative-25-12 absent from the live catalog

Context windows now come from each model's `max_context_length` rather than a
blanket 256k, which corrects ministral-3b-2512 from 256k to 128k (131072).

After the fix, an FCM ping of the provider returns 200 for Ministral 3 14B/8B/3B
and 429 (rate-limited free tier) for the rest - no 400s left.

test/test.js: the temperature-clamp test pinned `mistral-large-3-25-12` with a
comment saying it is a real catalog model; repointed at `mistral-medium-3-5`.

npm test: 1154/1154 passing.
@Sy57em1
Sy57em1 requested a review from vava-nessa as a code owner September 16, 2026 11:25
@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

@Sy57em1 is attempting to deploy a commit to the vavanesssa Team on Vercel.

A member of the Team first needs to authorize it.

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