# oh-my-openagent v5.0.0-beta.34 - Product: oh-my-openagent (https://whatsnew.fyi/product/oh-my-openagent) - Vendor: oh-my-openagent - Date: 2026-09-02 - Version: v5.0.0-beta.34 - Original notes: https://github.com/code-yeongyu/oh-my-openagent/releases/tag/v5.0.0-beta.34 - Permalink: https://whatsnew.fyi/product/oh-my-openagent/releases/v5.0.0-beta.34 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — LazyCodex installer now completes successfully and materializes the prompts-core ultrawork directive inside the cached plugin root - **fixed** — Ultrawork prompt is resolved checkout-first within plugin, preventing ENOENT errors in sync:skills - **changed** — Recall is now a two-step loop with fire-and-forget memorian judge child that delivers recalled memory on the next turn - **changed** — Recall configuration simplified to enabled and max_items, with per-agent tuning available via memory.agents..recall - **fixed** — Recall delivery fails open with unwritable ledger degrading to missing record instead of swallowed hint - **changed** — Dream scanning reads each conversation once gated by journal byte offsets and reconciles at session start - **changed** — Memory-core fs layer is EINTR-resilient with proper abort-signal handling and Windows-tolerant lock candidates - **added** — checkpoint --print-template emits surface-aware quality-gate skeleton and works without --goal-id - **changed** — Quality-review agents bounded to three spawns per goal attempt with reset on explicit restart - **changed** — ulw reviewer agents resolve their model through category router instead of hardcoded model chains - **changed** — omo-senpi ships its own ulw reviewer builtin agents with per-toolkit surface identity resolution - **fixed** — Grok output reserve is capped when output limit equals context window to prevent admission failures - **changed** — terminal_quota_exhausted is non-retryable abort instead of retry loop - **changed** — kimi-k3-ultrafast registers with 256k default context instead of base model's 1M - **changed** — LSP workspace roots collapse to git repository root to reduce language server spawning in monorepos - **fixed** — LSP in-flight client stops are tombstoned and dead-client respawns are bounded - **changed** — LSP document URIs are normalized at openByUri boundary - **added** — MCP ast-grep stdio server arms 10-minute idle timeout with OMO_AST_GREP_IDLE_TIMEOUT_MS override option - **changed** — MCP ast-grep idle servers get stdin destroyed so abandoned children exit - **changed** — Session manager preserves platform path roots and keeps POSIX separators in directory normalization #### OMO v5.0.0-beta.34 + senpi v2026.9.2 This release rolls up everything since **beta.30**. beta.31, beta.32 and beta.33 were published to npm but never announced, and beta.32/33 shipped a broken LazyCodex install (every `lazycodex-ai install` died in `sync:skills` with an ENOENT on the ultrawork prompt). beta.34 is the one to upgrade to. If you're on beta.30, this is a big jump; if you're on 31/32/33, the Codex installer is fixed and the engine moved to senpi 2026.9.2. ###### Why the last three betas were silent Each one was killed by a different release-pipeline defect, not by the product. beta.31 shipped with a recall file-mode pin that broke on win32. beta.32 fixed that but the Windows legacy-daemon fixture blew its readiness budget and the omo-native staging build skipped prebuilt inputs under `--ignore-scripts`. beta.33 fixed those but the published tarball was missing the prompts-core Codex prompt. beta.34 fixes the last link: the Codex installer flattens the plugin into `/plugins/cache/sisyphuslabs/omo/`, and the ultrawork prompt was resolved repo-relative, so it was never there. Every fix landed with a failing-first regression, and the final smoke was replayed against the real published beta.33 tarball (exit 0, ultrawork `SKILL.md` carries the canonical body). ##### 🔧 Codex / LazyCodex: the installer works again - `npx -y lazycodex-ai@5.0.0-beta.34 install` completes. The installer now materializes the prompts-core ultrawork directive inside the cached plugin root, and `sync:skills` resolves it checkout-first, plugin-internal second. - The ultrawork directive is single-sourced from prompts-core with a bundled runtime export, so Codex and omo-senpi ship the same text. - The unavailable codegraph stub stays alive on the Codex host instead of idling out and dropping the tool. ##### 🧠 Memory: the memorian gate and recall - Recall is now a two-step loop. At settle, omo collects recall candidates from your committed memory and launches a fire-and-forget "memorian" judge child. On your next turn, whatever the judge picked arrives as one hidden recall message with one sourced `` block per nudge, so the agent can open the file for detail. Your current turn pays nothing for it. - Nudges are stamped with the compaction epoch. If the transcript gets compacted mid-flight, stale nudges are dropped instead of injected over a transcript that no longer exists. - `memory.recall` config shrinks to `enabled` and `max_items`, and `memory.agents..recall` lets you silence or tune recall for a single agent. - Recall delivery fails open: an unwritable ledger degrades to a missing record, never a swallowed hint. Only whole candidates that fit the token budget are delivered, and extension-injected messages stay out of transcript search. - Dreams reconcile at session start (an overdue identity gets a best-effort dream check), and dream scanning reads each conversation once, gated by journal byte offsets. - Default git template files are skipped, and the memory-core fs layer is EINTR-resilient with proper abort-signal handling and Windows-tolerant lock candidates. ##### 🔁 ulw-loop: guided gates, bounded reviewers - `checkpoint --print-template` emits a surface-aware quality-gate skeleton and works without `--goal-id`. Gate validation errors are aggregated into one report, and snapshot, plan, and session-id errors come with guided recovery messages. - Repeated review spawns are bounded: each quality-review agent gets three spawns per goal attempt, reset on explicit restart, and only allowed spawns count toward fan-out (fixes #7392). Fan-out eligibility is checked before reviewer quota is charged, and counter writes are atomic. - The ulw reviewer agents (`omo-senpi-code-reviewer`, `omo-senpi-qa-executor`, `omo-senpi-gate-reviewer`) no longer carry hardcoded model chains: they resolve their model through the category router (code review -> `unspecified-high`, QA -> `deep` then _[Truncated at 4000 characters — full notes: https://github.com/code-yeongyu/oh-my-openagent/releases/tag/v5.0.0-beta.34]_