Repository navigation
OMK 1.3.0 — Make done pass a check
OMK 1.3.0 — Make “done” pass a check.
Give your coding agent a command that decides when the goal is done.
/goal Fix the failing test without changing its assertions.
/goal verify node --test check.test.mjs
Try the small, reproducible goal demo: a deliberately broken addition function, an unchanged test, a passing receipt, and a new open goal that refuses completion after its evidence becomes stale. The fixture uses Node's built-in test runner; agent work requires configured-provider access and a supported local bash sandbox. The result covers the assertions you choose.
OMK 1.3.0 connects durable goals to an acceptance command you approve. It also
repairs the interactive goal loop and makes cancelled verified runs resumable.
All seven public workspace packages move together to 1.3.0.
This is a minor release under OMK's version policy: cancellation changes the
verified-run state and journal contract. Read the compatibility notes below
before upgrading integrations that consume run status or journals.
What's new
- Goals that finish on a passing check. Start a goal with
/goal <objective>,
then approve its acceptance command with/goal verify <command>. After each
settled turn, OMK runs that command through its default local bash sandbox. A
pass completes the goal on the checked workspace. A failure starts the next
round with the command and exit code; the command's output stays out of the
model context./goal completerequires a passing receipt from this session
that still matches the workspace. Editing files or moving HEAD makes that
receipt stale. See acceptance checks. - A repaired interactive goal loop. Through 1.2.4, the controller tried to
send the next turn before the session released the preceding one. The round
was spent while the session rejected the message withAgent is already processing. OMK now queues the continuation after the turn settles; an
attempt awaiting an automatic retry does not consume a round. Goal
transitions also tolerate a wall clock that steps backward. SDK callers can
use the newly exportednextDurableGoalTimestamp()for the same timestamp
rule. - Cancel now, resume later. A cancelled
omk runstayspaused, so you can
recover withrestart-writer,resume, orretry-tasks.omk run cancel
requests cancellation from another shell without signaling a PID. A check
interrupted during verification is no longer signed as a failed check. See
cancellation. - Preview cleanup before deleting workspaces.
omk run gcreports eligible
derived workspaces by default. Add--executeto prune workspaces belonging
to runs that can no longer be recovered. Journals, receipts, and attestations
remain. See artifact GC. - More reliable execution and MCP shutdown. The verified-run authority
store uses monotonic elapsed time instead of failing when the wall clock
moves backward. Errors outside the run contract include a bounded error kind
and code. An MCP server that exits during startup is isolated while other
servers keep their tools; malformed tool results are rejected. Transport
reconnection waits for physical shutdown, and RPC waiters settle when their
child process fails or exits. - Context admission and recovery. Requests are checked against the model's
input ceiling before dispatch. Automatic compaction uses that ceiling, stale
provider usage no longer blocks a compacted session, and oversized MCP server
schemas can be temporarily withheld to fit the selected model. Warnings name
withheld servers, which return on a model with room. See the
changelog for detailed contracts and
additional runtime fixes. - Dependency security patches. The release pins
brace-expansionto
5.0.12, the CLI'sundicito 8.10.2, and Gondolin's nestedundicito 6.28.1.
These are compatible patches for the current dependency lines. - macOS process locks under non-English locales. Replay-ledger identity
probes use the C locale for BSDps, so Korean or other localized date names
no longer make a live process appear unavailable. Acceptance-check test
repositories also use canonical physical temporary paths on macOS, keeping
workspace-mismatch checks intact across/varand/private/varaliases.
Compatibility and platform support
- A live verified run interrupted by
SIGINT,SIGTERM, oromk run cancel
now becomespausedwithfailure: cancelled, rather than terminal
failed. Its journal records a newinterruptedevent. OMK 1.2.4 and earlier
cannot read that journal. Status consumers must handlepaused. - When a goal has an approved acceptance command,
/goal completerequires its
current passing receipt. Without an approved command, the existing rule for
evidence in the current generation still applies. Acceptance approvals live
in the OMK process; approve the command again after restarting. - Context Budget V2 uses the
sel-4-codeunitselection-cache policy. Entries
written under the previous policy are not reused. - Built-in local bash requires
sandbox-execon macOS orbwrapwith
unprivileged user namespaces on Linux. It blocks network access by default
and refuses execution when the sandbox backend is unavailable. The
omk runverified-run workflow requires Linux and usable user, PID, and
network namespaces. See containerization
and verified-run prerequisites.
Known dependency limitation in the optional Gondolin example
The optional Gondolin extension depends on node-forge 1.4.0. As of
October 4, 2026, its upstream RSA signature-verification advisory has no patched
npm release. It is not an installed dependency of the main CLI. The production
audit scoped to open-multi-agent-kit reports zero vulnerabilities; the
repository-wide audit still reports Gondolin and node-forge. OMK does not
claim a clean audit for every example. See
GHSA-86w9-cpqp-85rv and the
upstream fix.
Upgrade
Install the published 1.3.0 CLI:
npm install -g open-multi-agent-kit@1.3.0 --ignore-scripts
omk --versionRestart any running OMK process after installing. Binary archives will be
available in the GitHub Release assets. A release is complete only when the
v1.3.0 tag is reachable from main, its GitHub Release exists, and npm
latest points to 1.3.0 for all seven public packages.
Try an acceptance check on a repository with a focused local test command. If
the workflow is useful, star OMK and share the
task, command, platform, and result in an
issue. Reproducible reports help other
developers decide whether OMK fits their work.