Protocols
Shell and harness
In CEP, the shell is the desktop interface a person types into; the harness is the agent runtime that answers, running the loop and calling tools.
The shell owns conversation history, context and the approval prompt. The harness may run in-process or as a separate program reached over HTTP or a socket. The protocol sits between them and never sees the model itself.
Separating the two is what lets one interface talk to several runtimes without knowing anything about their transports.