v0.3.13 — Autonomous Model Selection
Pre-run governance enforcement + Windows nested-write fix + Autonomous model selection
Governance is now enforced at every code path
martin run blocks at the gate if no estimate receipt exists. Every code path — CLI, MCP, auto-bootstrap, JSON mode — requires an estimate before execution. No more silent bypasses.
martin estimate "..."writes a timestamped receiptmartin gateblocks Bash/Edit/Write until estimate + doctor are recordedmartin runfails with actionable message if estimate was skipped- Auto-bootstrap (JSON mode) automatically records an estimate receipt
Windows nested-write fix
File writes inside VS Code terminals and agent panels on Windows were silently blocked. The npm CLI shim created an extra cmd.exe process hop that prevented OS-level workspace-write permissions from propagating. Fixed by resolving the shim to its real node <script>.js target directly. Falls back safely on any format mismatch.
New failure class: sandbox_write_blocked — surfaces clearly instead of falling through to generic no_progress.
Autonomous model selection
martin run picks haiku/sonnet/opus automatically:
- Simple task → claude-haiku, gpt-4o-mini, gemini-2.5-flash
- Architectural work → claude-sonnet-4-6, gpt-4.1
- Security + migration → claude-opus-4-6, o3
Works across Claude, Codex, Gemini, and all OpenAI-compatible endpoints.
Install
npm install -g martin-loop@0.3.13Then wire governance into your IDE:
martin mcp install --host claude # Claude Code
martin mcp install --host codex # Codex
martin mcp install --host gemini # Gemini CLI
martin mcp install --host cursor # Cursor