Skip to content

iso-harness v0.6.0

Choose a tag to compare

@AceGreenman AceGreenman released this 19 Apr 19:11
· 44 commits to main since this release

OpenCode emitter falls back to iso-route resolved map

Mirrors the Claude emitter's resolution pattern on the OpenCode target. When an agent source file has no inline `targets.opencode.model` (and no top-level `model:`), the OpenCode emitter now reads `opencode.json`'s `agent..model` field — written by `@razroo/iso-route` before iso-harness runs — and stamps that onto the generated `.opencode/agents/.md` frontmatter.

Resolution order (OpenCode)

  1. `targets.opencode.model` (inline on the iso agent source)
  2. Top-level `model:` on the iso agent source
  3. iso-route's resolved map (`opencode.json`'s `agent..model`)
  4. Nothing — no `model:` stamped on the emitted agent file

This matches the Claude emitter shipped in 0.4.0. Agents that hard-pin a model continue to own that decision; agents that delegate model choice to `models.yaml` no longer need their inline override duplicated.

Backwards compatibility

Behavior when iso-route hasn't run (no prior `opencode.json`) is unchanged — no model stamped unless the agent source provides one.

Also collapses a duplicate `opencode.json` read inside `emitOpenCode`: the file is now loaded once at the top and reused for both the per-agent lookup and the later merge-write.