Skip to content

Commit 0a0f7fb

Browse files
committed
feat(iso-route): retune openrouter-free preset after real-world contention data
qwen/qwen3-coder:free stays as the orchestrator default (still the strongest free agentic model on OpenRouter) but real usage showed its shared-pool providers (Venice, Chutes) rate-limit far more often than any other free model. Subagent roles now spread load across less-contended providers: fast: minimax/minimax-m2.5:free -> z-ai/glm-4.5-air:free minimal: google/gemma-4-26b-a4b-it:free -> openai/gpt-oss-20b:free quality: openai/gpt-oss-120b:free -> qwen/qwen3-next-80b-a3b-instruct:free quality bumped to Qwen3 Next 80B — it's the best free writing model on the catalog, and JobForge was already overriding to this. The preset now ships the actually-best pick by default. Bumps iso-route to 0.5.1. No breaking changes; consumers get better defaults on next install. Existing overrides in downstream models.yaml continue to work. Made-with: Cursor
1 parent 32b8bfe commit 0a0f7fb

5 files changed

Lines changed: 56 additions & 19 deletions

File tree

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/iso-route/CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# @razroo/iso-route
22

3+
## 0.5.1
4+
5+
### Patch Changes
6+
7+
- Retune the `openrouter-free` preset after real-world usage showed
8+
`qwen/qwen3-coder:free` is the most contended free model on OpenRouter's
9+
shared pool. Keeps it as the orchestrator default (still the strongest
10+
free agentic model) but spreads subagent load:
11+
12+
- `fast`: `minimax/minimax-m2.5:free``z-ai/glm-4.5-air:free`
13+
(more reliable tool-call schema compliance on Geometra flows)
14+
- `minimal`: `google/gemma-4-26b-a4b-it:free``openai/gpt-oss-20b:free`
15+
(less contended, better structured-output adherence)
16+
- `quality`: kept on `qwen/qwen3-next-80b-a3b-instruct:free`
17+
(upgraded from `gpt-oss-120b:free`, matching JobForge's override;
18+
the preset now ships the actually-best free writing model)
19+
20+
No breaking changes — existing consumers get better defaults on next
21+
install.
22+
323
## 0.5.0
424

525
### Minor Changes

packages/iso-route/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@razroo/iso-route",
3-
"version": "0.5.0",
3+
"version": "0.5.1",
44
"description": "Author one model policy; fan out to every harness that supports it. Translates role-based model selection into settings.json, config.toml, opencode.json, and a machine-readable resolved map.",
55
"license": "MIT",
66
"type": "module",

packages/iso-route/presets/openrouter-free.yaml

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,24 @@
55
# proxy tokens. Intended for users who already have OpenRouter connected
66
# inside OpenCode and want reproducible, inspectable model names.
77
#
8-
# Verified against the live OpenRouter models API on 2026-04-20:
9-
# - default: qwen/qwen3-coder:free
10-
# - quality: openai/gpt-oss-120b:free
11-
# - fast: minimax/minimax-m2.5:free
12-
# - minimal: google/gemma-4-26b-a4b-it:free
8+
# Verified against the live OpenRouter models API on 2026-04-20, tuned
9+
# after real-world observation that qwen3-coder:free is the most
10+
# contended free model on the shared OpenRouter pool (everyone uses it,
11+
# so the Venice / Chutes providers that back it rate-limit often).
12+
# We keep it as the orchestrator default since it is genuinely the
13+
# strongest free agentic model, but subagent roles now spread load
14+
# across less-contended providers:
15+
#
16+
# - orchestrator: qwen/qwen3-coder:free (best free agentic)
17+
# - quality: qwen/qwen3-next-80b-a3b-instruct:free (best free writing)
18+
# - fast: z-ai/glm-4.5-air:free (reliable tool-calling)
19+
# - minimal: openai/gpt-oss-20b:free (strong structured output)
20+
#
21+
# Notable free candidates outside this shortlist (see `iso-route catalog
22+
# openrouter`): moonshotai/kimi-k2.6 (scores 910, free with tools,
23+
# 262k ctx — worth pinning once usage stabilizes),
24+
# nvidia/nemotron-3-super-120b-a12b:free (120B reasoning model, good
25+
# quality-tier fallback).
1326
#
1427
# Use `iso-route catalog openrouter` to refresh the shortlist when
1528
# upstream offerings change.
@@ -26,9 +39,9 @@ default:
2639
model: qwen/qwen3-coder:free
2740

2841
roles:
29-
# fast — procedural worker. Preserves the existing Claude/Codex tiers
30-
# while switching OpenCode to the quickest free OpenRouter pick in the
31-
# current shortlist.
42+
# fast — procedural worker. GLM 4.5 Air was designed by Zhipu as the
43+
# lightweight counterpart to their agentic GLM 4.5; more reliable
44+
# tool-call schema compliance than MiniMax on the Geometra flows.
3245
fast:
3346
provider: anthropic
3447
model: claude-haiku-4-5
@@ -38,10 +51,10 @@ roles:
3851
model: gpt-5.4-mini
3952
opencode:
4053
provider: openrouter
41-
model: minimax/minimax-m2.5:free
54+
model: z-ai/glm-4.5-air:free
4255

43-
# quality — best free OpenRouter alternative for OpenCode while keeping
44-
# opus / gpt-5.4 on the native harnesses.
56+
# quality — best free OpenRouter model for long-form writing. 262k
57+
# ctx, 80B params, instruct-tuned. Claude/Codex still run Opus / GPT-5.4.
4558
quality:
4659
provider: anthropic
4760
model: claude-opus-4-7
@@ -53,10 +66,12 @@ roles:
5366
reasoning: high
5467
opencode:
5568
provider: openrouter
56-
model: openai/gpt-oss-120b:free
69+
model: qwen/qwen3-next-80b-a3b-instruct:free
5770

58-
# minimal — smallest credible tool-capable OpenRouter pick from the
59-
# current free shortlist.
71+
# minimal — GPT-OSS-20B is dense-trained for structured outputs, has
72+
# 131k ctx (plenty for extraction), and is typically less contended
73+
# than the Gemma variants which get hammered as default small-model
74+
# picks across many apps.
6075
minimal:
6176
provider: anthropic
6277
model: claude-haiku-4-5
@@ -66,4 +81,4 @@ roles:
6681
model: gpt-5.4-nano
6782
opencode:
6883
provider: openrouter
69-
model: google/gemma-4-26b-a4b-it:free
84+
model: openai/gpt-oss-20b:free

packages/iso-route/tests/extends.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ test("extends openrouter-free: OpenCode targets use explicit free OpenRouter mod
8484
assert.equal(policy.default.targets?.opencode?.model, "qwen/qwen3-coder:free");
8585
const quality = policy.roles.find((r) => r.name === "quality")!;
8686
assert.equal(quality.targets?.opencode?.provider, "openrouter");
87-
assert.equal(quality.targets?.opencode?.model, "openai/gpt-oss-120b:free");
87+
assert.equal(quality.targets?.opencode?.model, "qwen/qwen3-next-80b-a3b-instruct:free");
88+
const fast = policy.roles.find((r) => r.name === "fast")!;
89+
assert.equal(fast.targets?.opencode?.model, "z-ai/glm-4.5-air:free");
8890
const minimal = policy.roles.find((r) => r.name === "minimal")!;
89-
assert.equal(minimal.targets?.opencode?.model, "google/gemma-4-26b-a4b-it:free");
91+
assert.equal(minimal.targets?.opencode?.model, "openai/gpt-oss-20b:free");
9092
});
9193

9294
test("extends standard: scalar override on default replaces just that scalar", () => {

0 commit comments

Comments
 (0)