Skip to content

Commit 7f46d47

Browse files
committed
Release iso-route v0.5.4
1 parent 483357d commit 7f46d47

6 files changed

Lines changed: 19 additions & 9 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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @razroo/iso-route
22

3+
## 0.5.4
4+
5+
### Patch Changes
6+
7+
- Refresh the standard preset's OpenCode picks to DeepSeek V4 Flash and DeepSeek V4 Pro.
8+
39
## 0.5.3
410

511
### Patch Changes

packages/iso-route/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ roles:
7474
model: gpt-5.4
7575
opencode:
7676
provider: opencode
77-
model: opencode-go/kimi-k2.5
77+
model: opencode-go/deepseek-v4-pro
7878
```
7979

8080
When emitting for harness `X`, iso-route uses `targets.X` if present;
@@ -84,7 +84,7 @@ exists.
8484

8585
### Bundled presets (`extends:`)
8686

87-
Two curated presets ship with the package so you don't have to pin
87+
Three curated presets ship with the package so you don't have to pin
8888
per-harness model picks by hand. Extend one with a single line; override
8989
only what you want to differ.
9090

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.3",
3+
"version": "0.5.4",
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/standard.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# - Claude Code model config (aliases + pinned model IDs)
66
# - Cursor models docs (manual picker; no file-based role binding)
77
# - Codex models docs (gpt-5.4 default recommendation)
8-
# - OpenCode models docs (provider/model ID format + variants)
8+
# - OpenCode models docs + Models.dev (provider/model ID format + variants)
99
#
1010
# Three roles, each with per-harness overrides:
1111
# - fast — cheap + quick, for procedural work
@@ -30,7 +30,7 @@ default:
3030
model: gpt-5.4
3131
opencode:
3232
provider: opencode
33-
model: opencode/glm-5.1
33+
model: opencode-go/deepseek-v4-flash
3434

3535
roles:
3636
# fast — procedural worker. Cheap per-call cost; assumes the task is
@@ -48,15 +48,16 @@ roles:
4848

4949
# quality — top-tier worker. Use for writing, evaluation narratives,
5050
# nuanced judgment calls, or high-stakes single applications where the
51-
# marginal cost is worth the quality delta.
51+
# marginal cost is worth the quality delta. DeepSeek V4 Pro gives the
52+
# OpenCode route a larger context/output window than the previous Kimi pick.
5253
quality:
5354
provider: anthropic
5455
model: claude-opus-4-7
5556
reasoning: high
5657
targets:
5758
opencode:
5859
provider: opencode
59-
model: opencode-go/kimi-k2.5
60+
model: opencode-go/deepseek-v4-pro
6061
codex:
6162
provider: openai
6263
model: gpt-5.4

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,13 @@ test("extends standard: user gets preset default + roles unchanged", () => {
7070
assert.equal(policy.default.model, "claude-sonnet-4-6");
7171
const roleNames = policy.roles.map((r) => r.name).sort();
7272
assert.deepEqual(roleNames, ["fast", "minimal", "quality"]);
73+
assert.equal(policy.default.targets?.opencode?.model, "opencode-go/deepseek-v4-flash");
7374
const fast = policy.roles.find((r) => r.name === "fast")!;
7475
assert.equal(fast.provider, "anthropic");
7576
assert.equal(fast.model, "claude-haiku-4-5");
7677
assert.equal(fast.targets?.opencode?.model, "opencode/big-pickle");
78+
const quality = policy.roles.find((r) => r.name === "quality")!;
79+
assert.equal(quality.targets?.opencode?.model, "opencode-go/deepseek-v4-pro");
7780
});
7881

7982
test("extends openrouter-free: OpenCode targets use explicit free OpenRouter model IDs", () => {
@@ -100,7 +103,7 @@ default:
100103
assert.equal(policy.default.provider, "anthropic", "provider preserved from preset");
101104
assert.equal(policy.default.model, "claude-opus-4-7", "model overridden");
102105
// targets.opencode still from preset
103-
assert.equal(policy.default.targets?.opencode?.model, "opencode/glm-5.1");
106+
assert.equal(policy.default.targets?.opencode?.model, "opencode-go/deepseek-v4-flash");
104107
});
105108

106109
test("extends standard: target override on a role replaces that target atomically", () => {

0 commit comments

Comments
 (0)