You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking: renamed the plugin from Mission to Target. The slash command is now /target
(alias /t), model tools are get_target / create_target / update_target / add_target_evidence / verify_target_gate, options use max_target_token_budget, the generated
artifact is dist/target.js, and the default state directory is opencode-target. Update opencode.json, install scripts, and any mission-* plugin path references.
Split src/server.js into focused modules — commands, context-hooks, continuation, error-lifecycle, errors, event-routing, host, options, repository, tool-accounting, verification, and verification-gate — each with dedicated unit coverage. server.js now holds
only OpenCode hook wiring and thin dependency-binding wrappers (802 → ~484 lines).
Added
SchedulerState.whenIdle / isSettled and a hooks.whenIdle seam so embedders and tests can
await the real continuation-completion signal instead of polling.
scripts/check-dist.mjs, wired into npm run check, which imports the generated plugin and
performs a real create/verify flow.
Deterministic unit coverage for every extracted module and for the scheduler idle seam.
docs/remaining-work.md tracking was retired; all listed items are complete.
Fixed
Smoke suites now await completion signals rather than fixed Date.now() deadlines, removing
load-dependent flakiness.
TargetStore retries transient Windows rename failures (EPERM / EACCES / EBUSY) with
bounded exponential backoff for write, read, and quarantine, so continuation work is no
longer discarded when another handle briefly holds the destination open.