Highlights
This release makes the automatic routing discipline work on the Pi CLI and OMP (Oh My Pi) hosts with the same strength OpenCode got in v2.6.9, and fixes OpenCode's plugin update staleness: Bun caches git plugins lockfile-bound, so restarts never re-fetched new releases.
What's New
Pi CLI / OMP Host Adaptation: Auto-Injection + Routing Guard
- Shared extension core (
extensions/shared/aegis-bootstrap.ts): config resolution (~/.config/aegis/config.tomlactivation/tdd modes plus env overrides), compact bootstrap assembly, routing-guard state machine (readonly-tool exemption,SKILL.md/skill://recognized as skill loads, at most once per session), and ancestor-walking method-pack root resolution. - Pi extension (
extensions/pi/index.ts, shipped via thepi.extensionsmanifest entry): inautomode the compact using-aegis hot path is injected before every LLM call, and anAEGIS_ROUTING_GUARDadvisory marker is prepended to the first non-readonly tool result when no routing decision was recorded.explicitmode disables injection and the guard. - OMP extension (
extensions/omp/index.ts) plus nativealwaysApply:using-aegisis markedalwaysApply: true, so OMP injects the full hot path into the system prompt natively (other hosts ignore the field per the Agent Skills standard). The extension adds the routing guard as a belt-and-braces fallback. - Compatibility: Pi reuses its existing discovery paths (
~/.pi/agent/skills/,~/.agents/skills/, packagepi.skills); OMP discovers Aegis skills through itsagentsprovider (~/.agents/skills/). - Docs:
docs/README.omp.md(new host guide),docs/README.pi.mdactivation-mode section rewritten for extension injection, compatibility matrix, KNOWN_LIMITATIONS (new 2.19 OMP entry), release checklist, prompt hygiene, and README host lists updated. - Tests:
tests/pi-omp-extensions/test-shared-core.sh(21 assertions),tests/e2e/omp-host-boundary-check.sh(new); pi/omp/opencode existing checks all pass.
OpenCode Plugin Update Self-Check
.opencode/plugins/aegis.jsnow runs an update self-check on every startup: it compares the upstream HEAD against a recorded anchor, resets the stale Bun cache entry automatically when the remote moved, and shows a restart reminder in the injected bootstrap. Offline/git failures skip silently and never block startup.- First check anchors without deleting; existing users need one manual cache refresh (documented), after which updates are fully automatic.
docs/README.opencode.mdUpdating section rewritten to describe the real mechanism plus a manual fallback command.- Fix: frontmatter stripping now handles CRLF line endings (shared core and OpenCode plugin).