Highlights
This release closes the OpenCode routing-strength gap: skills were discoverable and the bootstrap was injected, but nothing forced (or made visible) the routing decision. OpenCode loads skills strictly on demand with no native routing enforcement, so the plugin now supplies both a hardened routing contract and a visible routing guard.
What's New
OpenCode Routing Guard + Routing Contract
- Bootstrap routing contract (.opencode/plugins/aegis.js): before the first non-readonly tool call, the agent must either (1) load the relevant Aegis skill via the native
skilltool, or (2) explicitly declareRoute: fast-pathwith a reason. Neither action triggers a visible guard marker. The contract also states that the fullusing-aegishot path is already embedded in the bootstrap and must not be loaded again. - Routing guard: in
automode the plugin tracks per-session skill loads viatool.execute.beforeand flags the first non-readonly tool call that happens without any routing decision viatool.execute.after(injects anAEGIS_ROUTING_GUARDadvisory prefix into the tool output). Non-blocking, fires at most once per session, exempts readonly tools (read/glob/grep/webfetch/context7/sequential-thinking), caps session state at 500 entries, and is disabled together with bootstrap injection inexplicitmode. - Docs:
docs/README.opencode.mdnow documents the guard as the third plugin behavior plus a troubleshooting section. - Tests: 6 new functional guard assertions in
tests/opencode/test-plugin-loading.sh(trigger / once-per-session / skill-load suppression / readonly exemption / later-work detection / explicit-mode disable).
Agentic Benchmark Budget Raise
Raised run budgets for slow custom providers, kept consistent across the check script, validator, and fixture matrix:
development-pilot: wall budget 600s to 1200s, attempt timeout 480s to 960sstandard-held-out: wall budget 3600s to 7200s, attempt timeout 480s to 960sextended-held-out: wall budget 9000s to 18000s, attempt timeout 480s to 960s
Verification
tests/opencode/run-tests.shpasses (including all 6 new guard assertions).- context-budget / boundary-compliance / governance-completion-contract / parse-codex-skills checks pass.
- layer1-fast-check: 35/36; the single failure is the offline Codex fixture platform check (environment-bound, reproduced on the stashed baseline, unrelated to this release).