Skip to content

v5.0.0-beta.51

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Sep 10:45
· 3 commits to dev since this release
ef1fcc1

OMO 5.0.0-beta.51

Recall stops dying after an upgrade, thread tools stop appearing on hosts that cannot run them, and the engine gains GPT Image 2.5 with reference-image editing.

Memory

Recall survives an upgrade that lands under a running session. The recall gate read its judge persona from beside the plugin bundle on every single fire, so the file had to still exist, under its current name, in an install tree that changes while sessions run. After the Kibitzer rename shipped in beta.50, every session whose process had loaded the previous bundle kept opening the retired filename and each recall gate died with session_create_failed; one machine logged 155 of them. Persona filenames now have a single definition, each asset is read at most once per process, and all four personas are primed when the memory component registers — so a process keeps serving the payload it started from and a later upgrade, prune, or rename cannot turn its next judge launch into a missing-file error. A persona that genuinely cannot be read is reported once, by name, with its cause, and is never silently substituted (#8016).

Packaging now guarantees the assets the runtime reads. The published omo-ai payload validator had drifted from the local install validator and no longer required the gate persona, so a staging regression could have shipped a package whose every recall gate failed while the completeness check stayed green. Both validators derive from one list, and the payload test proves the check names a missing persona instead of passing (#8016).

omo doctor names sessions that are running a retired payload. An in-place upgrade cannot rewrite a process that is already running; doctor compares each engine against the payload on its own --extension path and tells you exactly which sessions to restart. It never signals those processes, and they stay outside --reap (#8016).

Sessions and tasks

Thread tools only appear where they can actually work. They now follow the engine's shared-host capability, read from the host instead of guessed from ambient environment variables: off means no thread tools, on means all six, still search-only (#8010, #8011).

Platform

Windows DAG runs no longer trip over lock cleanup. A concurrent start could leave the losing worker unable to remove its own quarantined lock while another process still held a handle, which Windows reports as a sharing violation rather than the POSIX unlink semantics the code assumed. Cleanup retries briefly on Windows, and worker failures report message, syscall, and path (#8005).

LazyCodex installs agree with the migration guard. The installer treated only the model heuristic as MultiAgent V2 while the guard also honored an explicit [features.multi_agent_v2] enabled = true; both follow the same rule now, and spawn-guard storage errors surface on stderr instead of being swallowed (#8008).

Engine: senpi 2026.9.9-2

GPT Image 2.5 with reference-image editing. generate_image gains model selection (gpt-image-2.5-sunburst by default, plus gpt-image-2.5-flare and gpt-image-2), xhigh and max quality, free-form validated sizes, and reference_image_paths — up to five local PNG/JPEG/WEBP files that are edited or referenced through the images edit endpoint instead of being rejected.

Compact read classifications. Extensions can register a read classifier, so a read is presented by what it is rather than by its path; OmO's memory component uses it for memory-read headlines.

Oversized sessions resume instead of refusing. A restored transcript in the compaction band opens in a required-compaction state and compacts before the first prompt, rather than failing model-budget admission at construction time.

Cold starts with injected context are classified correctly. A fresh claude-sdk-oauth session whose first turn carries several user messages reports continuity as a bootstrap instead of a false registry miss.

Extensions can see the shared-host policy at registration, which is what the thread-tool gating above consumes.


npm i -g omo-ai@beta

After updating, restart your sessions: a running process cannot adopt a new payload in place, and omo doctor will name the ones still on the old one.