Docs / Notch integration
Wired to the notch.
QuorumTerm is the ecosystem's core; Quorum — the notch app — is its lookout. They speak one protocol over a local Unix socket: the terminal streams pane state up, the notch sends focus and spawn commands back down. Nothing crosses the network.
The state channel
A client thread connects to the notch agent's socket, sends a hello, and pushes coalesced mux_snapshot frames — the full pane tree across all tabs — whenever state changes, roughly once a second under load. The wire format is a 4-byte length prefix plus JSON, mirrored exactly on both sides (quorum-proto is a shared crate). If no notch is listening the thread backs off and retries; the terminal runs exactly the same without it.
What streams up
- Working directory and title per pane
- Foreground process — including the detected agent and its idle/working/blocked state
- Unseen-output flags,
OSC 9;4progress percentages, and bell events - Hook-reported metadata (custom statuses, display names) from
report-agent
What comes back down
focus_pane— the notch focuses the exact pane behind a notification; ⇧⌘J steps through the queuelaunch_window— the notch's + button spawns a new terminal sessionterm_command— run a command in a pane, e.g. from a planning flowping/request_snapshot— health checks and resyncs
Every command raises and activates the window, so answering a notification always lands your cursor in the right session. The round-trip is covered by tests on both ends.
Shared state, one source of truth
Beyond the socket, the terminal and the notch deliberately share on-disk state under ~/.quorum/: the theme file, the settings the overlay mirrors, and the quorum-usage accounting both usage meters render from. Change something in either surface and the other follows.