Young's Mind
03 Decisions

Stage 6.3 — the free-model answer, and it is not a list

Young asked for this on 2026-10-09: "optimise the free models on both GO/ZEN endpoint."

Stage 6.3 — the free-model answer, and it is not a list

Young asked for this on 2026-10-09: "optimise the free models on both GO/ZEN endpoint."

This is the answer, and it exists because the shell was fixed. Every figure below came from a command that ran against the live endpoints. Until the shell worked I had been quoting V2's three-week-old numbers, which I had flagged as a list dressed as a fact.


1. What the live catalogue actually holds

EndpointBase URLTotal modelsFree models
GOhttps://opencode.ai/zen/go/v1452
ZENhttps://opencode.ai/zen/v18712

GO looks like the bigger pool by total and the smaller one by usable models. 45 paid models against a $10 package with per-model ceilings is not headroom — it is a menu of things that will block. ZEN's 12 free models are the real capacity, and they cost nothing.

The GO free list (2, probed)

longcat-2.5-preview-free · step-5-preview-free

The ZEN free list (12, probed)

exo-free · jev-1.13-free · ling-3.0-flash-fin-free · ling-3.1-flash-free · longcat-2.5-preview-free · mimo-v2.6-flash-free · muse-spark-1.2-contributor-free · muse-spark-1.3-contributor-free · nemotron-3-ultra-free · nemotron-3.5-lightning-free · space-bunny-free · step-5-preview-free

Seven of ZEN's twelve are shared with GO. Where a model exists on both, GO wins — usage inside the $10 package costs nothing extra, while ZEN drains the $40 float.

🔴 A defect, live, caught by the probe

core/config/models.yaml declares lab-go/space-bunny-free. The probe result:

OK   opencode/longcat-2.5-preview-free        — served by its declared endpoint
OK   opencode-go/longcat-2.5-preview-free     — served by its declared endpoint
OK   opencode/mimo-v2.6-flash-free            — served by its declared endpoint
OK   opencode/muse-spark-1.3-contributor-free — served by its declared endpoint
MISS lab-go/space-bunny-free                  — NOT served by go

space-bunny-free does not live on GO. It lives on ZEN — and it is in our registry under GO. That is the Stage 1.8 defect measured again on the live endpoint. The probe found it because the probe asks the endpoint instead of reading config.


2. What the fleet actually did last week — the number that matters

opencode stats --days 7 --cost --models:

cost $19.49 · input 469m · cache read 5.3b (cached input 91.6%)

opencode-go/longcat-2.5-preview-f…   2.8b    55.7k    $0.00
opencode/space-bunny-free#default      2b    71.9k    $0.00
opencode-go/qwen3.8-flash#default   309.3m     7.5k   $11.17
opencode-go/deepseek-v4-flash#def…   263.5m     3.6k    $6.97
opencode/nemotron-3-ultra-free#de…   156.6m    41.7k    $0.00
Free (3 models)Paid (2 models)
Tokens4.96 b573 m
Steps127 k11 k
Cost$0.00$18.14

Free did 8.7× the tokens at zero cost. The single largest line item — qwen3.8-flash at $11.17 — bought 309m tokens and 7.5k steps, while free space-bunny-free did 2b tokens and 71.9k steps for nothing.

This is the same defect V2 measured at larger scale, one week later. V2: $10.34 on one paid model in a day. Now: $11.17 on qwen in a week. The pattern did not stop when V2 stopped.


3. The per-model ceiling, and why it binds before you feel it

From opencode.ai/docs/go/#usage-limits — each model carries: monthly 100% · weekly 50% · 5-hour 20%.

ModelMonthly5-hour (20%)Weekly
GLM-5.3-Flash$60$12.00$30
MiMo-V2.6-Flash$60$12.00$30
Muse Spark 1.2$60$12.00$30
Qwen3.8 Flash$30$6.00$15
GPT 6 Luna$15$3.00$7.50
Claude Haiku 5.5$15$3.00$7.50

The binding constraint is the 5-hour window, never the month. V2's measured rate of $10.34/day means qwen's $6.00/5-hour window is roughly 1.2 days of heavy work before that model blocks — and Luna/Haiku at $3.00 per 5 hours are 4× tighter.

So "GO exhausted" is not one state. qwen can sit at $60 while step-5-preview-free has never been touched. That is why core/config/ladder.py keys the ladder by (endpoint, model_id) — never by pool or tier.


4. The tier list, with the reasons

RankModelEndpointWhy
1longcat-2.5-preview-freeGOFree on both endpoints. 2.8b tokens, 55.7k steps, $0.00 in the measured week. Proven under V2 too: 769 successes.
2step-5-preview-freeGOFree on both. Second GO free model — the ceiling is separate, so it is genuine headroom, not a queue behind rank 1.
3space-bunny-freeZEN2b tokens, 71.9k steps, $0.00 — the highest step count of any model. On ZEN only, so our registry's GO declaration is a live defect.
4nemotron-3-ultra-freeZEN156.6m tokens, 41.7k steps, $0.00. Deepest of the ZEN-only free models by volume.
5mimo-v2.6-flash-freeZENNot in last week's top five. V2 measured it fail: 23 — mostly rate-limited. Last, not first.
6nemotron-3.5-lightning-freeZENIn V2's catalogue, unmeasured last week. Try it before reaching for a rung that costs money.

And the rule the ranks do not capture: these are not ordered by quality. They are ordered by cost (free over paid), endpoint (GO before ZEN, because GO's usage costs nothing extra), and proven volume. A task that a free model answered at 2b tokens does not need a paid one, and the ladder will not offer one until every free rung has lapsed.


5. Four rules I am asking you to confirm

  1. Free first on GO — longcat and step-5 are both free there. No paid GO model should be reachable while either is serving.
  2. ZEN is last, not first — it holds 12 free models, and ZEN paid is the only rung that costs real money. Your ruling said "GO exhausted rolls over to ZEN"; the ladder implements that, with ZEN paid behind GO paid.
  3. Retention is a routing input and it outranks cost. A confidential task gets a confirmed zero-retention model or nothing. Right now no model is confirmed, so confidential tasks are refused — deliberately, because an unconfirmed "probably zero-retention" is an undisclosed disclosure.
  4. A paid call must record why_paid. qwen3.8-flash at $11.17 currently has no recorded reason. The ledger now refuses to construct such a record without one, and core/config/cost_ledger.py audits history for rows that predate the guard.

6. The honest limit of this document

  • The catalogue is fresh; the performance data is seven days old and aggregated.opencode stats reports tokens and cost per model — it does not report which task ran, or whether the call succeeded. V2 recorded 769 longcat successes and 23 mimo failures; this week's figures cannot distinguish a success from a refusal.
  • I have not run a head-to-head task benchmark. Ranking by volume and cost is defensible; ranking by quality is not, and I am not claiming it.
  • "GO exhausted" behaviour remains unverified against live exhaustion. V2's breaker measured real 429 provider.quota refusals, which is the hard configuration; the ruling describes the soft one. Stage 6's guard needs the console's "Extra usage" setting read — still registered as pending.

So: the ladder is built, the numbers are live, and the two things I would not claim without a probe are quality and exhaustion behaviour.

Copyright © 2026