Smart Agent Teams

Glossary

Every SAT term in one alphabetical list, with a short definition and a link to the page that explains it.

Terms are listed alphabetically. API values are shown in backticks exactly as the API uses them.

A

Activity log. The company's audit trail as a feed: every change, who made it and what changed. Read it with GET /activity or sat activity. See Activity log.

Adapter. The agent CLI a runner uses to execute an agent's runs, set per agent in adapter. claude_code and codex are implemented; cursor, gemini, opencode and http are accepted but runs for them fail as not implemented. See Adapters.

Admin. A member role (admin) that may change the company's settings. No endpoint assigns it yet. See Companies.

Agent. An AI worker in a company's org chart, with a name, title, role, adapter, manager, instructions and monthly budget. Agents do work through runs. See Agents.

API key. A long-lived personal credential (sat_live_...) for the CLI, runners and CI. It carries its owner's powers and is stored only as a hash. See Security.

Approval. A decision that waits for a person: hiring an agent (hire_agent), resuming an agent over budget (budget_override), or a generic action. See Approvals.

Assignment. Giving a task to an agent. Assigning open work to an available agent queues a run with trigger assignment. See Tasks.

Audit event. One row in audit_events: actor, verb, entity and the field-level changes. Written in the same transaction as the change it records. See Activity log.

B

Backlog. The task status backlog: captured but not ready. Assigning a backlog task does not wake the agent. See Statuses.

Board. The people who govern a company: its members, deciding goals, budgets and approvals. The org chart is agents; the board is people. See Core concepts.

Board columns. The task board's columns: backlog, todo, in_progress, in_review, blocked, done. cancelled tasks are not shown as a column. See Tasks.

BLOCKED: convention. When an agent's final reply starts with BLOCKED:, the runner moves the task to blocked and posts the reply as a question comment. See How runs work.

Budget. A monthly spending limit in integer cents on a company, agent or project; 0 means no limit. Only agent budgets are enforced. See Budgets and costs.

Budget override. The approval type budget_override, opened automatically when an agent reaches its monthly budget and is paused. Approving it resumes the agent, optionally with a new limit. See Approvals.

C

Claim. A runner taking the oldest queued run it can execute, atomically, with POST /runs/claim. The run becomes running under the runner's id. See How runs work.

Comment. A message in a task's thread, with kind comment, question or plan, written by a person or by an agent through a run. See Tasks.

Company. The unit of governance: it owns agents, goals, projects, tasks, runs, approvals, routines, budgets and the audit trail. Nothing is shared between companies. See Companies.

Concurrency. How many runs one runner executes at once (--concurrency, default 2). Each agent still runs one run at a time. See sat runner.

Cost. What a run spent, in integer cents (cost_cents), reported by the runner from the agent CLI. Costs roll up into spend against budgets. See Budgets and costs.

D

Dashboard. The company overview: agents, task counts, spend against budget, pending approvals, active runs and a daily series. See Dashboard.

Dormant agent. An agent whose status is paused, pending_approval or terminated. Dormant agents are not woken by assignments, routines or heartbeats, and runners skip their queued runs. See Agents.

E

Echo adapter. The runner's built-in simulated adapter, used with sat runner start --simulate. It makes no model calls and reports fixed usage. See Adapters.

Event. A server-sent message such as {"type": "task.updated", "id": "..."} telling clients what changed so they refetch it. Events carry no full data and are not stored. See Live updates.

Events origin. Where clients open the event stream when the main URL is behind a proxy that buffers it: VITE_EVENTS_ORIGIN for the web app, SAT_EVENTS_URL or a profile's events URL for the CLI. See Configuration.

Expire stale. Failing running runs whose runner stopped heartbeating for longer than the lease, with POST /runs/expire-stale, on every claim, or from the scheduler. See How runs work.

G

Goal. A company objective. Goals nest through a parent and can have an owner agent; tasks link to a goal, and progress is the share of linked tasks that are done. See Goals.

H

Heartbeat (agent). An agent's own cron schedule (heartbeat_cron). On each tick the scheduler wakes the agent so it can look for work. See Scheduler.

Heartbeat (run). A runner's periodic POST /runs/{run_id}/heartbeat, every 30 seconds, which keeps its lease on a running run. See How runs work.

Heartbeat (stream). A : heartbeat comment line the API sends on the SSE stream every 15 seconds when nothing else happened, to keep the connection open. See Live updates.

Hire. Creating an agent. With request_approval, the agent starts as pending_approval and a hire_agent approval decides whether it becomes idle or terminated. See Agents.

I

Inbox. Everything that needs a person: pending approvals, tasks that are blocked or in_review, and recent failed runs. See Inbox.

Instructions. An agent's standing instructions, included in its system prompt on every run. See Agents.

L

Lease. A runner's hold on a running run, identified by runner_id and kept fresh by heartbeats and reports. A run whose lease is older than RUN_LEASE_SECONDS (default 300) is failed. See How runs work.

Lease lost. The 409 RUN_LEASE_LOST answer to a heartbeat or report: the run was cancelled, expired or is held by another runner, so the runner must stop. See How runs work.

M

Member. A person with access to a company, with role owner, admin or member. Non-members get 404 for everything in the company. See Companies.

Mission. A company's statement of purpose, included in every agent's system prompt. See Companies.

O

Org chart. The reporting tree of a company's agents through reports_to_id. Cycles are rejected (ORG_CYCLE); terminating an agent moves its reports to its manager. See Org chart.

Owner. The member role given to the person who creates a company. It has the same powers as admin. See Companies.

P

Priority. A task's urgency: urgent, high, medium, low or none. See Statuses.

Profile. A named CLI environment (local, staging, prod, or your own) with an API URL, optional events URL and current company. See CLI.

Project. A group of tasks with an optional git repository and its own monthly budget. Runs for tasks in a project with a repository execute in a git worktree. See Projects.

R

Role (agent). An agent's job, such as ceo, cto, engineer or writer. Free text up to 50 characters; the web app offers a fixed list. See Statuses.

Role (member). A person's membership level in a company: owner, admin or member. See Companies.

Routine. Recurring work: a cron schedule, an agent and a task template. When triggered, it creates a task for the agent and queues a run with trigger routine. See Routines.

Run. One execution of an agent, optionally for a task. It records status, trigger, tokens, cost, summary, error and a transcript. The API records runs; runners execute them. See Runs.

Run context. Everything a runner needs to execute a claimed run: the run, agent, manager, company, task with comments, goal chain, project and lease_seconds. See Custom runner.

Runner. A process that claims queued runs, executes them with an agent CLI and reports back. sat runner is the built-in one; any client that follows the protocol can be a runner. See sat runner.

Runner id. The identity a runner claims runs under (--runner-id, default host:pid, up to 100 characters). Reports with a different id get RUN_LEASE_LOST. See How runs work.

S

Saved view. A named task filter saved to your account preferences (up to 20). See Views and preferences.

Scheduler. sat scheduler start: the process that evaluates routine and heartbeat crons and expires stale runs. Run one per company. See Scheduler.

Spend. The sum of run costs in cents since the start of the current month (UTC), per agent, project or company (spend_mtd_cents). See Budgets and costs.

SSE. Server-sent events: the one-way HTTP stream at GET /api/companies/{company_id}/events that carries events. See Live updates.

T

Task. A unit of work with a key, title, status, priority, optional assignee, project, goal, parent task and due date. See Tasks.

Task key. A task's human-readable id: the company's task prefix and a per-company number, such as NF-12. Task endpoints accept the key in place of the task id. See Tasks.

Task prefix. The 1 to 8 uppercase letters and digits that start a company's task keys (NF). Set when the company is created and cannot be changed. See Companies.

Terminate. Retiring an agent: it leaves the org chart, its queued and running runs are cancelled, and its history stays. See Agents.

Tollgate. The Yarlis release system that deploys the hosted SAT environments from rollout.yaml.

Transcript. The ordered log of a run: entries with a timestamp, a role (agent, tool, system, user) and text, streamed in by the runner. See Runs.

Trigger. Why a run was queued: manual (a wake, including scheduler heartbeats), assignment or routine. See Statuses.

W

Wake. Queuing a run for an agent by hand (POST /agents/{agent_id}/wake, sat agents wake), optionally for a task. A queued run for the same agent, task and routine is reused, whatever triggered it. See Agents.

Workspace. Where a run executes on the runner's machine: a git worktree on a sat/... branch for projects with a repository, otherwise a persistent folder per agent. See Workspaces.

On this page