mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 10:27:33 +00:00
* feat(wsl): a WSL hosts block learned mid-run stops new work at once The live policy fetch caches a newly published block, but the gate is fixed for the run, so the add-host and move entry points and the in-context offer stayed until the next launch. A block the fetch learns now stops new work in-session through one predicate, wslHostsAcceptNewWork(): adding hosts, starting or previewing moves, automatic and opened-project moves, and Retry. Main pushes the capability to the renderer, which hides the offer and entry points. The gate and what is served are unchanged until the next launch, so saved hosts and moved projects keep working, and cancel, Restore and Not now stay. Co-Authored-By: Claude <noreply@anthropic.com> * fix(wsl): a live block also ends Stage 1 opt-in and stops mid-step host adds Review follow-ups: - wslHostsOptedIn now also needs wslHostsAcceptNewWork, and the Git router re-applies its opt-in when a block lands, so the D1c router and the background WSL Git gate uninstall at once, as turning the setting off does. - D1c conversions (wslDriveProject preview/convert, wslDriveUnc:convert) gate on the opt-in; the new-project Git default already did. - The orchestrator re-checks before adding a host, so a step already past its start gate adds nothing after a block. - The window broadcast and capability push move to wsl-host-window-broadcast.ts, keeping wsl-host-handlers.ts under max-lines. Co-Authored-By: Claude <noreply@anthropic.com> * test(wsl): keep gate mocks whole, and pin cancel after a live block The visible-work lifetime suite mocked the gate with one export, so the handlers' new wslHostsAcceptNewWork and onWslHostsNewWorkChanged calls failed it; it now spreads the real module and overrides only what it needs. A new case pins that cancelling a running move still works after a live block while a new move is refused. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>