Skip to content

release: 3.40.0 — surface the models 3.39.0 priced but never exposed - #127

Merged
VickyXAI merged 3 commits into
mainfrom
feat/model-catalog-front-door
Aug 21, 2026
Merged

release: 3.40.0 — surface the models 3.39.0 priced but never exposed#127
VickyXAI merged 3 commits into
mainfrom
feat/model-catalog-front-door

Conversation

@VickyXAI

Copy link
Copy Markdown
Contributor

Why

3.39.0 re-synced pricing to three weeks of gateway drift and added eleven chat models to src/pricing.ts — then stopped. None of them got a shortcut, a picker row, or router wiring, so they were live, correctly priced, and reachable only by typing the full provider/model id from memory.

What

  • 38 new shortcuts (107 → 145) — the GPT-5.6 pro reasoning tier (sol-pro / terra-pro / luna-pro), GPT-5.5 Pro, chatgpt (chat-latest), Gemini 3.6 Flash + the Flash Lite line, Qwen3.7 Plus/Flash, Tencent HY3, Xiaomi MiMo, plus the 4o / 4.1-mini / o3-mini gaps. Every alias target has a pricing entry and was probe-verified against the live gateway.
  • New arrivals: zai/glm-5.3 (Z.AI flagship, 1M ctx, glm follows it) and xai/grok-imagine-video-1.5 ($0.08/s) in VideoGen.
  • fix(router): the LLM classifier has been silently dead since 2026-07-27. Its default was nvidia/qwen3-next-80b-a3b-instruct — NVIDIA's EOL'd id, which the gateway rides on nemotron-3-super-120b. That substitute opens with "Okay, let's see. The user wants to…" and never reaches a verdict inside the 16-token budget, so every classification failed the strict parse and fell through to keyword-only routing. Re-probed the free pool on the real classifier prompt — only nemotron-3-nano-omni returns one bare word (MEDIUM). It is the new classifier.
  • The 30B omni model serves itself again. It was pooled behind gpt-oss-120b in August; re-probed 2026-08-19 on both the streaming and non-streaming paths it answers as itself. Gets omni, a free picker row, and second place in every free chain; degraded mistral-nemotron slides to third. nvidia/step-3.7-flash stays deliberately unaliased — $0 and in the catalog, but still served by a substitute.
  • Picker holds its 24-row cap. GLM-5.3, GPT-5.6 Terra Pro and Qwen3.7 Flash displaced GLM-5.2, the hidden grok-fast row and GLM-5; Gemini 2.5 Pro retires from under 3.1 Pro. Every retired row keeps its shortcut, and gemini now tracks the flagship like gpt/grok/glm.
  • Brand numbers re-synced (95 visible, 8 video, 5 free); stale offline picker prices corrected.

Verification

  • npm run build && npm test646 pass, 0 fail (5 expectation updates, each documented in-line: the context example list, the free-profile allowlist, the picker bounds, and two pickFreeFallback chain assertions).
  • Every model id in this diff was probed against the live gateway: 402 = exists, 400 = unknown. The five hidden-but-resolvable ids Franklin still pins (opus-4.6, gpt-5-nano, grok-3, grok-4-0709, grok-4-1-fast-reasoning) all still return 402 and stay.
  • Free models were probed for self-service, not assumed — the substitution trap is what this release exists to avoid repeating.

🤖 Generated with Claude Code

1bcMax added 3 commits August 19, 2026 20:54
3.39.0 added eleven chat models to src/pricing.ts and stopped there: no
shortcut, no picker row, no router wiring. They were live, correctly priced,
and reachable only by typing the full provider/model id.

- 38 new shortcuts (107 -> 145): the GPT-5.6 pro reasoning tier, GPT-5.5 Pro,
  chat-latest, Gemini 3.6 Flash + the Flash Lite line, Qwen3.7 Plus/Flash,
  Tencent HY3, Xiaomi MiMo, and the 4o / 4.1-mini / o3-mini gaps
- zai/glm-5.3 (new flagship, `glm` follows it) and xai/grok-imagine-video-1.5
- fix(router): the LLM classifier has been dead since 2026-07-27 — its default
  model was NVIDIA's EOL'd qwen3-next, which the gateway rides on
  nemotron-3-super-120b; that substitute leaks prose, so every classification
  failed the strict parse and fell through to keyword-only routing. Live-probed
  the free pool on the real classifier prompt: only nemotron-3-nano-omni
  returns one bare word. It is the new classifier.
- nemotron-3-nano-omni serves itself again (re-probed on both the streaming and
  non-streaming paths) — it gets an alias, a free picker row, and second place
  in every free chain; mistral-nemotron slides to third. step-3.7-flash stays
  deliberately unaliased: it is still served by a pooled substitute.
- picker holds its 24-row cap — GLM-5.3, Terra Pro and Qwen3.7 Flash displaced
  GLM-5.2, the hidden grok-fast row and GLM-5; every retired row keeps its
  shortcut, and `gemini` now tracks the flagship like `gpt`/`grok`/`glm`
- brand numbers re-synced (95 visible, 8 video, 5 free); stale offline picker
  prices corrected

646 local tests pass.
Surfacing the catalog turned up three tables that had drifted behind it.

- fix(vision): xai/grok-4.5 was missing from the vision allowlist. It is what
  `grok` resolves to and it IS vision-capable, so every image turn on the xAI
  flagship was rerouted to a vision sibling the user never chose. Eleven more
  were missing (GPT-5.6 pro tier, chat-latest, gpt-5.3, gpt-4o, Gemini 3.6
  Flash + 3 Flash Preview, nemotron-3-nano-omni). New test pins the invariant:
  every bare flagship alias must be vision-listed.
- fix(tokens): grok-4.5 (500K), grok-4.3 (1M) and glm-5.3 (1M) had no context
  window entry and match no inference pattern, so a cold catalog cache used
  the blind 128k default and compacted up to 8x too early. 12 entries added.
- fix(context): the weak-model guidance branch matched bare `glm`, from the
  GLM-4.x era. `glm` now resolves to GLM-5.3 — 1M context, always-on
  reasoning — and was being told to make ONE tool call and stay under 300
  words. GLM-5.x moves to balanced guidance.
- fix(brain): the third extraction fallback, nvidia/nemotron-super-49b, left
  the catalog; use the current free default.

647 local tests pass.
zai/glm-5.3 is BASE-ONLY — sol.blockrun.ai lists 92 of Base's 93 models and
5.3 is the one it's missing (verified 2026-08-20; prices are otherwise
identical across chains). Pointing the bare `glm` alias at it, as the
flagship-tracking convention would, hands every Solana user an HTTP 400 on
`/model glm`.

Bare aliases have to resolve on both chains — they're what people type from
muscle memory. `glm`/`glm5` stay on 5.2 (both chains, same price, one
generation back); 5.3 keeps its explicit alias and its picker row, which
reconcilePicker drops for Solana users on its own.

647 local tests pass.
@VickyXAI
VickyXAI merged commit a3081b0 into main Aug 21, 2026
3 checks passed
@VickyXAI
VickyXAI deleted the feat/model-catalog-front-door branch August 21, 2026 06:42
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