github code-yeongyu/oh-my-openagent v5.0.0-beta.82

2 hours ago

Added

  • The OpenCode edition now tells you the standalone Senpi edition exists. Finishing oh-my-openagent install — the interactive setup or --no-tui — prints a short pointer: omo also ships as a standalone Senpi edition with one omo command and no OpenCode host, installed with bun add -g omo-ai@beta, with a link to the installation guide. The package postinstall prints the same one-line notice. Installs that target the senpi platform itself do not get the pointer. (#8593)

  • @oh-my-opencode/isolation-core, a copy-on-write task isolation PAL with baseline capture and merge-back. Filesystem backends — APFS clonefile, btrfs and ZFS reflink clones, fuse-overlayfs, ReFS block clone, and a git-worktree rcopy fallback — write only inside the supplied context base directory; an unavailable backend surfaces as a typed IsolationUnavailableError and falls through to the next candidate. Baselines capture staged, unstaged and untracked work under a per-repository budget, and merge-back replays it as a patch or a task branch without ever committing the user's overlapping WIP: a failed replay retains the isolated tree with a manual recovery command. A new Linux CI job exercises publication, copy-on-write and teardown on real loopback btrfs and ZFS. (#8573)

  • A delegated task can now run in a copy-on-write clone of your checkout. Pass isolated: true to the task tool (or turn on task.isolation.enabled) and the child works in a clone instead of your working tree, so its edits cannot collide with what you are doing. When the child completes, its changes are merged back and the clone is removed; any other ending merges nothing and keeps the delta as a patch and a summary you can read. A merge that cannot apply cleanly leaves your files untouched, reports the conflict, and parks the clone beside its original with the exact git apply --3way command to finish by hand. A repository that cannot be cloned refuses the spawn instead of quietly using the real checkout, and if the host dies mid-run the next session salvages the clone's delta before reclaiming it. (#8574)

Fixed

A task that waits on the child it just spawned no longer deadlocks at the concurrency cap. A task held its lane slot for its entire run, so spawning a child with run_in_background: false on a full lane left the child queued behind the very parent that was waiting for it, and the whole spawn tree stopped. The parent's slot is now parked for the length of the wait - outside lane and global room - so the child is admitted immediately, and the parent is re-admitted ahead of anything that queued while it waited. Promoting the child to the background re-counts the parent right away instead of making promotion wait, cancelling a parked parent releases its slot, and task_output reports whether a task currently holds or has parked its lease. (#8575)

A sandboxed memory reflection now reads the same credentials as the session that started it. The reflection sandbox granted the agent directory the adapter detected on its own, while the child asked the engine where its agent directory was - and the two answers differ whenever a project-local config directory, a brand prefix, or a second layout on the same machine is involved. The child then locked auth.json outside the grant, so a reflection died with EPERM on the credential lock and No API key found, while the parent stayed authenticated. The child now inherits the directory the engine resolved for the session: it is granted to the sandbox and pinned in the child's environment, so the reflection worktree it runs in cannot send it looking somewhere else. (#8595)

  • 6885e24 Merge pull request #8606 from code-yeongyu/release/v5.0.0-beta.82-source-state
  • bb65570 Merge pull request #8614 from code-yeongyu/fix/8609-pin-idle-before-crash
  • fc40cb9 Merge pull request #8610 from code-yeongyu/fix/worker-compile-windows-cleanup-ebusy
  • ba7db7a Merge pull request #8613 from code-yeongyu/fix/8609-fake-host-rebind
  • f74d035 test(build): retry the Windows temp cleanup in the compiled-worker test
  • 4e894a6 Merge pull request #8607 from code-yeongyu/fix/isolation-core-windows-suite-20260921
  • 8ca7ff5 fix(isolation-core): classify fsutil probe failures as a capability gap
  • 397304a fix(isolation-core): keep killTree's taskkill branch win32-only
  • 865f05e fix(isolation-core): land the native-resolver canonical and POSIX-literal overlay targets
  • 1fe1d17 fix(isolation-core): green the windows-latest suite (#8604)
  • 40872be Merge pull request #8603 from code-yeongyu/fix/isolation-core-fixture-auto-maintenance-20260921
  • b0a632b test(isolation-core): disable git auto-maintenance in fixture repositories
  • ac6addd Merge pull request #8601 from code-yeongyu/fix/reflection-sandbox-agent-dir-8595
  • 82434c4 test(qa): record the reflection sandbox credential-lock evidence
  • f1ac4a3 docs(memory): record where the reflection child's agent directory comes from
  • 2384788 fix(memory): grant the reflection child the agent directory the engine resolved
  • 76dd673 Merge pull request #8600 from code-yeongyu/refactor/thread-contracts-tools-loc-split
  • dbfe311 docs(evidence): record the isolation e2e run on the rebased dev
  • 943532f docs(changelog): describe isolated task children (#8574)
  • 8e411f3 Merge pull request #8594 from code-yeongyu/feat/task-lease-parking-20260921
  • b82abd2 Merge pull request #8588 from code-yeongyu/feat/thread-tools-revival-session-control
  • e7ce22c docs(changelog): describe the foreground-wait lane-lease parking fix (#8575)
  • 2bccd5f test(qa): add the session-control scenario for the thread tools
  • 1b21dc9 Merge pull request #8587 from code-yeongyu/feat/isolation-core-20260921
  • 1414cab Merge pull request #8591 from code-yeongyu/fix/web-app-icons-pipeline-20260921
  • 7c5e321 fix(web): pin app icon artwork against icon.svg and ship maskable PWA icons
  • 495f6df fix(isolation-core): tear down git's process tree on budget breach and signal it by pid in tests
  • e0b28f6 fix(isolation-core): preserve the caller's error through teardown signal deaths
  • b05db81 fix(isolation-core): keep runGit's signal, spawn-error and stream contracts on node:child_process
  • 3b02bda test(isolation-core): exercise the apfs loader classification on every platform
  • 62c15da fix(isolation-core): decide btrfs sameness by filesystem UUID, not st_dev
  • 349957b fix(isolation-core): satisfy repo audits for workflows, registration and child processes
  • 9061c9c fix(isolation-core): treat unprivileged btrfs B-tree search as inconclusive
  • 3d9dc69 fix(isolation-core): keep the sandbox base outside subvolume repository roots
  • 6cc01b8 fix(isolation-core): scope review findings in stash, rcopy, detachment and backend classification
  • ac8c41c fix(isolation-core): keep reflink walks out of their own destination and trust the btrfs CLI over st_dev
  • 7c18758 docs(changelog): describe the isolation-core task isolation PAL
  • 6be7162 feat(isolation-core): btrfs, zfs, reflink, fuse-overlayfs and ReFS block-clone backends with a Linux fs CI job
  • 7c4f9cf feat(isolation-core): patch and branch merge-back with fail-closed retention
  • 3d7c29c feat(isolation-core): baseline capture and synthetic-tree delta patches
  • 101f317 feat(isolation-core): apfs clonefile and git-worktree rcopy backends with detachGitDir
  • 2c3e6f3 feat(isolation-core): backend contract, candidate resolution, base dir and owner markers
  • ed985de Revert "feat(omo-native): inherit opencode content in omo setup"
  • 16a74cf Revert "docs(omo-native): correct the postinstall execution evidence"
  • 0272172 Revert "fix(omo-native): preserve migration semantics across both launchers"
  • 9e1fc2b Revert "fix(omo-native): preserve literal credentials and consent snapshots"
  • e3457cc Revert "fix(omo-native): honor source config layers and validate MCP imports"
  • 7a43afa Revert "fix(omo-native): validate model imports and normalize migration failures"
  • 58d805f Revert "fix(omo-native): skip restricted agent imports that conflict with enabled state"
  • 954be65 Revert "fix(omo-native): honor harness and profile agent restrictions"
  • c35e6d1 Revert "fix(omo-native): translate legacy agents through native safety checks"
  • 5f1a07b Revert "fix(omo-native): preserve tracked ignore rules during default builds"
  • d3afc6a Revert "fix(omo-native): align provider definitions with migrated default aliases"
  • 726f433 Revert "fix(omo-native): validate defaults against preserved provider catalogs"
  • afd888d Revert "fix(omo-native): resolve defaults against the complete planned catalog"
  • 41e90d9 docs(omo-native): keep migration QA artifacts out of the PR
  • d90456a fix(omo-native): merge dev and resolve migration PR conflicts
  • f277285 fix(omo-native): resolve defaults against the complete planned catalog
  • a3861ed fix(omo-native): validate defaults against preserved provider catalogs
  • 821e05d fix(omo-native): align provider definitions with migrated default aliases
  • 11536e9 fix(omo-native): preserve tracked ignore rules during default builds
  • a6a63a3 fix(omo-native): translate legacy agents through native safety checks
  • 18f7b54 fix(omo-native): honor harness and profile agent restrictions
  • cd731e2 fix(omo-native): skip restricted agent imports that conflict with enabled state
  • 28192df fix(omo-native): validate model imports and normalize migration failures
  • 844f665 fix(omo-native): honor source config layers and validate MCP imports
  • 5695fc2 fix(omo-native): preserve literal credentials and consent snapshots
  • 4b42ec5 fix(omo-native): preserve migration semantics across both launchers
  • 5c87c70 docs(omo-native): correct the postinstall execution evidence
  • 5fb0807 fix(omo-native): preserve setup state and translate import references
  • 9a60283 docs(guide): note the cosmetic npm allow-scripts warning on omo-ai installs
  • de5d25b docs(guide): migration guide and transition policy for opencode users
  • decdc06 feat(omo-native): add omo migrate codemod for opencode state
  • 753cc66 feat(omo-native): inherit opencode content in omo setup

Thank you to 1 community contributor:

  • @effortprogrammer:
    • feat(omo-native): inherit opencode content in omo setup
    • feat(omo-native): add omo migrate codemod for opencode state
    • docs(guide): migration guide and transition policy for opencode users
    • docs(guide): note the cosmetic npm allow-scripts warning on omo-ai installs
    • fix(omo-native): preserve setup state and translate import references
    • docs(omo-native): correct the postinstall execution evidence
    • fix(omo-native): preserve migration semantics across both launchers
    • fix(omo-native): preserve literal credentials and consent snapshots
    • fix(omo-native): honor source config layers and validate MCP imports
    • fix(omo-native): validate model imports and normalize migration failures
    • fix(omo-native): skip restricted agent imports that conflict with enabled state
    • fix(omo-native): honor harness and profile agent restrictions
    • fix(omo-native): translate legacy agents through native safety checks
    • fix(omo-native): preserve tracked ignore rules during default builds
    • fix(omo-native): align provider definitions with migrated default aliases
    • fix(omo-native): validate defaults against preserved provider catalogs
    • fix(omo-native): resolve defaults against the complete planned catalog
    • fix(omo-native): merge dev and resolve migration PR conflicts
    • docs(omo-native): keep migration QA artifacts out of the PR
    • Revert "fix(omo-native): resolve defaults against the complete planned catalog"
    • Revert "fix(omo-native): validate defaults against preserved provider catalogs"
    • Revert "fix(omo-native): align provider definitions with migrated default aliases"
    • Revert "fix(omo-native): preserve tracked ignore rules during default builds"
    • Revert "fix(omo-native): translate legacy agents through native safety checks"
    • Revert "fix(omo-native): honor harness and profile agent restrictions"
    • Revert "fix(omo-native): skip restricted agent imports that conflict with enabled state"
    • Revert "fix(omo-native): validate model imports and normalize migration failures"
    • Revert "fix(omo-native): honor source config layers and validate MCP imports"
    • Revert "fix(omo-native): preserve literal credentials and consent snapshots"
    • Revert "fix(omo-native): preserve migration semantics across both launchers"
    • Revert "docs(omo-native): correct the postinstall execution evidence"
    • Revert "feat(omo-native): inherit opencode content in omo setup"
npm i -g omo-ai@beta

Don't miss a new oh-my-openagent release

NewReleases is sending notifications on new releases.