D033 - Worker mode is self-reinvocation; no binary is privileged
decided ยท 2026-08-19
The child is not a separate executable and not "the CLI acting as host" - either would make one shim special, which contradicts D034. It is a mode any shim can enter: the binary re-invokes itself with a hidden flag and does nothing but host the crates and speak the protocol over stdio. The pattern browsers use for their process model.
Two concrete advantages over a distinct orbistoun-worker
binary: no version skew is possible (it is literally the same
executable), and worker mode stays as thin as the other shims.
Both shims go through the worker uniformly. The CLI
gets no in-process fast path just because a CLI crash is cheap - one
execution path always, which means the GUI's protocol is exercised on
every CLI run. --in-process exists purely as a debugging
escape hatch (attaching a debugger through IPC is miserable) and is
documented as a dev aid, never a second supported mode.