Core Concepts
Zozo uses a deliberate vocabulary across code, issues, and documentation. These are the terms you'll encounter most often.
Guide availability
The Guide bubble is available by default. Operators can turn the tenant-wide Guide switch off as an immediate safety stop; while it is off, the bubble is hidden and Guide Session requests are refused. The switch doesn't affect Stack MCP, which only a self-hosted Stack serves. A self-hosted Stack without a control plane always runs the Guide.
Harness
The orchestration layer Zozo builds. It spawns and coordinates agent sessions but never calls model APIs directly.
Provider
An adapter around a vendor agent Runtime, such as the Claude Agent SDK or Codex CLI. The Runtime owns its inner agentic loop. A Provider isn't a raw LLM API client.
Runtime
The vendor-supplied agent executable or SDK that a Provider wraps. It owns tool execution and context handling for its turns.
Credential
A named authentication identity for one Provider. A Credential carries separate model and effort settings for Intake and Dispatch. Zozo binds the selected Credential, model, and effort when it creates a Thread, so later edits affect new Threads rather than work already in flight.
Thread
The durable unit of conversation state. The Harness store, not the Runtime's native session, is the source of truth for a Thread. A Runtime's native session is a disposable cache, and each Thread is pinned to one Provider.
A dispatched Issue attempt, an Intake Session, and a Prototyping Session each run on their own Thread.
Run
One execution of a Thread against its Provider. A Run's output is a sequence of normalized Events appended to that Thread's journal.
Steer
A goal-preserving interaction you send while a Run is still in progress. The Claude Provider delivers ordered input after in-flight actions finish and before Claude's next action, then reports the matching Runtime acknowledgment. The OpenCode Provider establishes the same contract at a different point instead: Zozo accepts your message durably and delivers its exact text as the next Run's prompt once the current turn finishes on its own, with no interruption. The Dashboard keeps delivery pending until the matching acknowledgment arrives on either Provider. Codex and other Providers without a verified safe boundary present Interrupt and continue, which preserves the original Human Input and gives a successor the accepted objective, recorded progress, and remaining allowance.
Event
The atomic, append-only journal record. Streaming, resume, durability, and rendering all read from this journal. There isn't a separate final-response store.
What Zozo Isn't
Zozo can resemble several adjacent kinds of tools, but these assumptions don't apply:
- It's not a model API client. Zozo never calls a vendor's raw completions API. Every Run happens inside a vendor Runtime that the Harness wraps in a Provider, using that Runtime's subscription authentication.
- It's not a chat product. The unit of work is a Run inside a Thread. Every Run's output streams into an append-only Event journal, which is the durable, replayable source of truth for that Thread.
- It's not an agent-to-agent bus. When more than one Agent needs to coordinate, a caller scripts the turn-taking explicitly.