Saphan StudioDocs
Concepts

What it is made of

Seven components and one record: what each is, and where it is specified.

Seven components, one record:

ComponentWhat it isSpecified in
The recordOne durable, signed source of truth per workspace: gate decisions, run records, costs, refusals, observed git factsSecurity §10
Streams & gatesUnits of work with human decision points; signed gate rows; merges carrying proof-of-doneSaphan Studio §4, §8
The fleetMachines admitted by certificate; slots; seats with isolated agent profiles, local and remoteSecurity §5–7
The actorsFrontier models, a second vendor, local models, deterministic tools — plural by law; roles with handoffSaphan Studio §5–6
The daemonsA watch daemon waking work under capped standing rules; a serving process projecting the recordSaphan Studio §10 / the MCP server
The ledgerEvery run quoted, capped, and accounted to the cent; refusals as zero-cost rowsCost management
The lawsVersioned operating rules injected into every session; ratified into a root-signed manifestSecurity §4

Four of these deserve a sentence of plain language.

The record. Every surface you look at — CLI output, the web dashboard, an MCP response, an exported report — is a projection recomputed from the record on read. There is no privileged screen, no management view that can drift from the evidence, and no cached opinion. If two surfaces disagree, that is a bug by definition, not a matter of interpretation.

Seats. Agent tools keep sessions, credentials and history in a per-user directory; run two agents as the same OS user and they silently share it — whoever authenticated last wins for both. A seat gives each executor identity its own profile home per backend, on the machine where it runs, locally and over SSH. Two subscriptions, two vendors, or one account per client coexist on one machine without touching each other's tokens — and casting the wrong tool onto a seat refuses by name instead of landing in the shared directory.

Deterministic actors. Formatters, linters, compilers and test runners are first-class actors in the same record at cost zero. A meaningful share of fleet work never needs a model at all — and the ledger proves which share.

The laws. The rules of how work is done are not tribal knowledge; they are versioned documents, injected into every session, and — in the hardened configuration — signed into a manifest that verifies back to the root key. Refusals are data: each names its rule, its reason, and the next performable act, and lands in the ledger as a zero-cost row.