Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Engine-First

The doctrine, inherited from gaius: the engine is the nervous system; CLI, TUI, and MCP are thin clients. A client does exactly three things:

  1. parse input,
  2. await client.call(service, action, params),
  3. format output.

No business logic in clients, no local algorithms, no engine-bypassing fallbacks, no heavy dependencies (models, embedders). The CLI doubles as the verification harness: every engine feature must be reachable and verified through synth-cli.

The client layer (src/synth/client/) is the only import path clients take: a generic GrpcEngineClient.call() plus typed proxies.