After an upgrade, the first turn no longer fails with "No provider available" while an old engine host is still around. 5.1.16 runs on senpi 2026.10.7, where host handoff (which the desktop runs when the engine changed) can replace an old host that still serves the client's own socket with no session open, instead of refusing it until the host is drained by hand. A host that holds a session is still refused, with the command that retires it. host status also names the right engine build for a generation started by a handoff. (senpi#2701, senpi#2698)
Fixed
A stranded transient memory run is reported once instead of on every memory sweep. When a transient memory identity can't be promoted because a durable one with the same id already exists, the warning (with the manual fix) is now logged the first time only; one daemon log had held it 621 times. The identity is still counted on every sweep. Thanks to @cynkai. (#8646, #8869)
Changed
omo runs on senpi 2026.10.7. Code mode gets an in-cell wait() barrier and handle() views in all four kernels, and the JavaScript kernel gains tool.defined(), tool.undefine(name) and named tools; eval recovers after a cancelled session switch or a failed runtime start instead of staying broken for the rest of the session; the Ruby kernel's memory notice works on Ruby 2.6 again. Full list: senpi 2026.10.7.
The bundled visual-qa skill checks UI work against an Apple HIG checklist, with a light and dark capture matrix at phone and desktop widths and a pass or fail verdict per item. (#9533, #9536)
- d8b8907 Merge pull request #9545 from code-yeongyu/release/v5.1.16-source-state
- ab90e15 Merge pull request #8869 from cynkai/fix/8646-transient-sweep-stranded-once
- 05fa7f9 Merge pull request #9536 from code-yeongyu/feat/visual-qa-hig-checklist-9533
- f37928f fix(skills-loader-core, web): mirror the visual-qa and frontend skill changes into their checked-in copies
- 6ad0505 feat(visual-qa): fold Apple HIG and frontend rules into a checklist, capture matrix and per-item verdict
- 9089f49 Merge remote-tracking branch 'origin/dev' into fix/8646-transient-sweep-stranded-once
- 9eeb0b8 fix(memory): keep the stranded-report record out of the run tree
- b60343e fix(memory): report a stranded transient run once instead of every sweep
Thank you to 1 community contributor:
- @cynkai:
- fix(memory): report a stranded transient run once instead of every sweep
bun add -g omo-ai