JSONL Over Stdio, Not a Hidden RPC
The host and the engine speak client/1: versioned JSON lines on standard streams. Hello negotiates the verb classes from the previous track — protocol, required, optional. Typed submission admission distinguishes start, steer, and rejection before work begins. A command the pair did not agree on does not become a lucky side effect.
The envelope grows by named capabilities, so an older client and a newer engine can still pair. Required missing names refuse the pair and print the name. Optional missing names disable a control. Native bindings and the engine list are generated from one schema so a hand-written third copy cannot drift.
Native Authority Stays Native
Permission answers, file panels, and the model selector are native. The renderer may draw a card. It may not decide. Brain list and select ride the same pipe as turns, so a graphical switch is the same recorded transition a terminal /brain would append. There is no second roster in the window. If a graphical switch cannot be replayed from the notebook as the same kind of line a terminal command would append, it is not a switch. It is a costume.