D034 - CLI, GUI, and worker are interaction shims; logic lives in the crates
decided ยท 2026-08-19
No shim contains logic. The crates are the emulator. A shim calls the
relevant crate directly, or orbistoun-service where shared
orchestration is warranted.
With three shims, a shared service stops being optional - it is what all three call, and the protocol (D035) becomes a serialisable projection of its operations rather than a parallel API free to drift. The same principle another project of mine settled on, applied here.
Consequence for the current code: orbistoun-cli today
owns real logic - build_registry knows the full module set
and the survey flow is assembled in main.rs. That
extraction happens before the GUI and before the CLI
grows any further, since it gets more expensive with every command
added.