Skip to content

fix(free): the free tier had been dead since June — rebuild it - #24

Merged
VickyXAI merged 1 commit into
mainfrom
fix/free-tier-live-catalog
Aug 31, 2026
Merged

fix(free): the free tier had been dead since June — rebuild it#24
VickyXAI merged 1 commit into
mainfrom
fix/free-tier-live-catalog

Conversation

@VickyXAI

@VickyXAI VickyXAI commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

What was wrong

This repo's model catalog was frozen on 2026-06-08. Five of the six advertised free models died in the eleven weeks since, and nothing noticed:

id what happened
free/gpt-oss-120b dead upstream 2026-08-16; the gateway 400s the free/ id
free/gpt-oss-20b same
free/deepseek-v4-flash 410 Gone at NVIDIA 2026-08-12 (blockrun #367)
free/qwen3-coder-480b NVIDIA EOL 2026-06-14
free/llama-4-maverick dropped from the live catalog 2026-07-17
free/nemotron-3-nano-omni… the only survivor

None of them failed loudly, which is why this sat for months. blockrun hides a retired free id and server-redirects the call, so the caller keeps getting answers — from a different model — and /exclude on the id they can see does nothing.

/model free, the nvidia alias, the eco SIMPLE primary, and two agentic backstops all pointed into that dead set.

What this does

  • Ships the current seven free models in blockrun's own auto-pick order, and repoints every default at nemotron-3.5-lightning.
  • Retired entries stay in BLOCKRUN_MODELS so explicit pins still resolve. They come off the picker and the cascade only — same convention ClawRouter uses.
  • Ports ClawRouter's FREE_UPSTREAM_OVERRIDES. Two of the seven are not NVIDIA-hosted, so the blanket free/nvidia/ rewrite in toUpstreamModelId would have put ids the gateway does not serve on the wire. Verified: nvidia/north-mini-code and nvidia/laguna-xs-2.1 are both absent from /api/v1/models; the real ids are cohere/ and poolside/.
  • Sweeps the user-facing surfaces that named dead models: README (pitch, routing table, budget-model table, /exclude example, licence note) and skills/xclawrouter/SKILL.md (which also claimed "11 free NVIDIA models" — never right, and the tier is no longer NVIDIA-only).

The guard

top-models.test.ts gains what would have caught this:

  • no retired free id may reappear in the picker (12 ids listed, append on every retirement)
  • the free tail must equal the live tier, in cascade order, contiguously at the end
  • every advertised id must be defined in BLOCKRUN_MODELS — so a picker entry can never be a phantom

Verification

All seven picker ids resolve to an id that exists in the live catalog:

free/nemotron-3.5-lightning   -> nvidia/nemotron-3.5-lightning     OK
free/nemotron-3-nano-30b      -> nvidia/nemotron-3-nano-30b        OK
free/laguna-xs-2.1            -> poolside/laguna-xs-2.1            OK
free/north-mini-code          -> cohere/north-mini-code            OK
free/nemotron-3-nano-omni…    -> nvidia/nemotron-3-nano-omni…      OK
free/nemotron-3-ultra-550b    -> nvidia/nemotron-3-ultra-550b      OK
free/llama-3.2-11b-vision     -> nvidia/llama-3.2-11b-vision       OK

514 tests pass, typecheck clean, brand-numbers --check clean.

Scope

Free tier only. The paid catalog is also a generation behind — 71 model definitions here vs ClawRouter's 113, missing Fable 5 / Opus 5 / Sonnet 5, all three GPT-5.6 tiers, Grok 4.5, Kimi K3, the whole GLM-5 line — but porting 42 model definitions is a re-fork, not a fix, and it is a separate decision. This PR fixes what is actively lying to users.

Originally this branch also carried a sync-brand-numbers --refresh commit. While I was working, the weekly brand-sync cron pushed the identical refresh to main (213068c), so the branch was rebuilt on top of that and now contains only the free-tier change.

@VickyXAI
VickyXAI force-pushed the fix/free-tier-live-catalog branch from 1e5f7aa to a98accb Compare August 31, 2026 17:40
XClawRouter's catalog was frozen on 2026-06-08. Five of the six advertised
free models died in the eleven weeks since and nothing noticed:

  free/gpt-oss-120b      dead upstream 2026-08-16, gateway 400s the free/ id
  free/gpt-oss-20b       same
  free/deepseek-v4-flash 410 Gone at NVIDIA 2026-08-12 (blockrun #367)
  free/qwen3-coder-480b  NVIDIA EOL 2026-06-14
  free/llama-4-maverick  dropped from the live catalog 2026-07-17

Only nemotron-3-nano-omni survived. None of them failed loudly, which is why
this sat: blockrun hides a retired free id and server-redirects the call, so
the caller keeps getting answers — from a different model — and /exclude on
the id they can see does nothing. /model free, the nvidia alias, the eco
SIMPLE primary and two agentic backstops all pointed into that set.

Ships the current seven, in blockrun's own auto-pick order, and repoints every
default at nemotron-3.5-lightning. Retired entries stay in BLOCKRUN_MODELS so
explicit pins still resolve; they come off the picker and the cascade only.

Two of the seven are not NVIDIA-hosted, so the blanket free/ -> nvidia/ rewrite
in toUpstreamModelId would have put ids the gateway does not serve on the wire
(verified: nvidia/north-mini-code and nvidia/laguna-xs-2.1 are both absent from
/api/v1/models). Ported ClawRouter's FREE_UPSTREAM_OVERRIDES to map them to
cohere/ and poolside/.

Also sweeps the surfaces that named dead models: README (pitch, routing table,
budget-model table, /exclude example, licence note) and skills/xclawrouter/
SKILL.md, which additionally claimed "11 free NVIDIA models" — never right,
and the tier is no longer NVIDIA-only.

top-models.test.ts gains the guard that would have caught this: no retired id
in the picker, the free tail matches the live tier in cascade order, and every
advertised id is defined in BLOCKRUN_MODELS so a picker entry can never be a
phantom.

All seven picker ids verified to resolve to a live upstream id in
/api/v1/models. 514 tests pass, typecheck clean.
@VickyXAI
VickyXAI force-pushed the fix/free-tier-live-catalog branch from a98accb to d61d671 Compare August 31, 2026 17:46
@VickyXAI
VickyXAI merged commit 7591745 into main Aug 31, 2026
4 checks passed
@VickyXAI
VickyXAI deleted the fix/free-tier-live-catalog branch August 31, 2026 21:57
VickyXAI added a commit that referenced this pull request Aug 31, 2026
…e) (#25)

Cuts the release for #24. dist/ is committed and npm ships it, so without a
rebuild the published package would keep serving the June picker: the bundle
still inlined gpt-oss-120b, deepseek-v4-flash, qwen3-coder-480b and
llama-4-maverick as the advertised free tier.

Verified in the rebuilt bundle: the shipped picker's free tail is exactly the
live seven, and none of the five retired ids appears in it.

514 tests pass, typecheck + lint + prettier clean.

Co-authored-by: 1bcMax <viewitter@gmail.com>
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