Concepts
Glossary of the terms you'll see across the docs and the codebase.
A short glossary so the rest of the docs make sense. Most of these terms map 1:1 to tables in the database or activities in the workflow.
Workspace
A workspace is the unit of isolation and billing. It connects one GitHub organization (or personal account) and, optionally, one Linear workspace, and it holds the members, credentials, and subscription for that account. Every database query, sandbox, and credential is scoped to a workspace, so one customer can never see another's code or keys.
Workstream
A workstream is the long-lived record for a piece of work, usually one Linear issue. It moves through a series of states as the agent makes progress: pending, investigating, an optional planning or brainstorming phase, implementing, and pr_open, then a terminal state such as completed, failed, or cancelled. The workstream survives restarts, crashes, and human intervention.
Agent session
An agent session is a single attempt at running the coding agent. One workstream may have multiple sessions if the agent fails and is restarted, or if a human asks the agent to revise its work. Each session has its own sandbox.
Sandbox
A sandbox is the isolated environment where the agent actually runs — a checked-out copy of the repo, scoped credentials, and a place for the agent to execute commands. Each agent session gets its own sandbox, and it's torn down when the work is done.
Run
A run is a single execution of the agent inside a session — one prompt, one or more turns, one final outcome (PR opened, error, or abandoned). Sessions can have multiple runs (e.g., the user comments back asking for changes).
Engine
The engine is the agent harness running inside the sandbox. Sinatra ships with claude-code (default) and opencode. Choose per-repo via .sinatrarc.
.sinatrarc
A per-repo config file customers commit to their target repository to control the engine, model, sandbox setup, hooks, and CI behaviour. See the configuration reference.