Core Concepts
Zozo uses a deliberate vocabulary across code, issues, and documentation. These are the terms you'll encounter most often.
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.
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.
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.