Install, found the fleet, run the first stream
The one-time owner acts, giving a project its command deck, and the eight steps of a first stream.
Install
An install, end to end is the whole path in the order you
meet it: one curl … | sh line, what it verifies before it writes anything, and the address it
leaves you at. It ends the way every route ends — the binaries on disk and nothing configured.
Set the machine up at /setup
A machine with no owner is set up in a browser. There is no owner yet, so there is nobody
who could sign in to a console — which is why /setup exists and why it is the only surface
that can do this. Bring the console up and open the address it prints; the installer prints
those two commands for you at the end of a network install.
Six screens, and two of them deserve a word before you start:
- Your root of trust is a ceremony, and it does not repeat. The 24 words appear once. You write them on paper and type them back from the paper, and only an exact match wipes the key from the disk. Have a pen and paper ready — and, if you can, a second person — before you begin. If the machine already has a root, the wizard says so and carries on.
- The CouchDB address is reached from the machine Saphan runs on, not from the computer you are reading the page on. Over a forwarded port that distinction is the one that catches people out.
A successful setup leaves you one hand-run step: creating the CouchDB databases is not automated, and the installer names it rather than guessing at it. It is resumable, so you run the same command again afterwards and it continues from where it stopped.
The whole walkthrough — the window that opens and shuts, all six screens, and every refusal
you can meet — is First run: setting the machine up at /setup.
From the moment that machine has an owner, /setup closes and the address is /console.
The same acts from a terminal
The wizard is the short road, not the only one. Identity and trust material are verbs, and on a machine you are already sitting in you can run them directly:
Identity is always human-confirmed — config init with nothing to confirm against refuses
rather than guessing who you are.
The one-time trust acts are described step by step in Security: mint the
root, then the intermediate, then seed the identity registry (saphan identity import).
Fleet verbs check that registry and refuse until it exists — deliberately: an unattributable
fleet does not start. A root can also live entirely
on paper, with a separate authority signing on its behalf, which is what lets a fleet admit
machines without the root ever returning to a disk.
Give a project its command deck
The bridge is the project's command deck: orders, decisions, the board, conventions — the durable documents your fleet works from.
Admit machines, seat identities
Worked flags and refusal cases: Worked examples. Local model lanes are one config section each: an endpoint URL and the name of the credential variable (Configuration).
Run the first stream
- Write the order (section 7). Put the owner questions to yourself honestly.
- Check the price: the order's quote and cap, and
saphan fleet headroomfor whether the fleet has room to run it now. - Dispatch:
saphan dispatch commandcomposes the exactsaphan runinvocation for the stream — the engine owns every composed sentence, so a dispatch is reproducible. - The executor works in its worktree; you watch
saphan fleet show(or the dashboard, or the VS Code tree). - The return comes back; review evaluates it; you decide:
saphan gate <stream> --gate stop2 --decision accept --ref <review-return>. saphan merge <stream>— mechanics after your decision, refusing if anything is owed.- After the projection shows merged:
saphan teardown <stream>, dispositioning every return artifact. saphan cost <stream>— read what it cost against what was quoted.
Getting started
What Saphan Studio is, the four questions it answers, and where to go to install it.
Supported agents, runtimes and integrations
Every agent backend, execution shape, notification sink, datastore and surface — each at the state the release actually proves, with what is therefore not proven.