Glossary¶
SASE's shared vocabulary, generated from the glossary memory web. Terms are sorted A–Z and each anchor matches its memory slug.
Agent Clan¶
An agent clan is a named, rootless container for related agents whose members may run in
parallel or in clan waves derived from their %wait edges (Clan Wave).
Every member is named inside the clan's hood (<clan>.<suffix>) and declares
%clan:<clan>; the clan name is reserved and is never itself an agent.
An agent clan node's status aggregates its member agent nodes, except that a clan with
exactly one running member (STARTING included) shows exactly that node's status — its
label, styling, and row overlays such as FINALIZING — rather than a generic RUNNING.
Only a member that needs the user (asking, awaiting plan review, or failed) outranks it.
Agent Data Card¶
Also known as: card, agent data cards.
An agent data card is one titled unit of detail inside an agent data deck, such as
Context, Reply, one file's diff, or LLM Calls. A deck panel shows a multi-card deck
spread — every card on one scrollable page, separated by titled rules — when the cards
fit within ace.agent_decks.spread_max_screens panel heights, and paged — one card at a
time — otherwise. Ctrl+J/Ctrl+K move to the next or previous card in both modes, and
a paged deck keeps the chosen card (for example Reply) as the selection moves between
nodes. A card can contain optional Agent Data Card Block
units, which never nest.
Agent Data Card Block¶
Also known as: card block, card blocks.
An agent data card block is one titled, stably identified unit inside an
Agent Data Card (deck -> card -> block); blocks are optional and
never nest. A session Reply card holds one block per concrete Sase Turn,
landing on the newest block, with ( / ) stepping between blocks and a one-row block
rail timeline.
Agent Data Deck¶
Also known as: deck, agent data decks.
An agent data deck is a named, ordered set of agent data cards about the selected sase
node, shown in an Agents-tab deck panel. The built-in decks are Main (a Context card and
a Reply card — titled Output for named procs, monitors, gates, and workflow steps — or
one Summary card for agent clans and tribe panels), Files (one card per diff or attached
file), Tools (the LLM Calls card), and FINAL (an Overview card plus one card per
finalizer instance, showing how the node's host-owned finalizers ran). A deck is
presentation only and owns no agent data; Ctrl+N/Ctrl+P cycle the focused deck panel
through the decks, and the p picker jumps to one (m, f, t, n).
Agent Hood¶
Also known as: hood, agent neighborhood.
An agent hood is a group of agents that are all named with the same <name>. prefix.
For example, agents named foo.bar, foo.baz, and foo.bar.1 are all apart of the
same foo agent hood. The agent foo, if it exists, is also considered part of the
foo agent hood.
Agent Instruction File¶
Also known as: agents.md file.
An agent instruction file is a .md file that an agent CLI reads automatically when
working in a directory that contains it. AGENTS.md is the canonical name, kept beside
a byte-identical CLAUDE.md copy for older Claude Code versions; Antigravity (agy),
Qwen Code, and OpenCode all read AGENTS.md through native discovery.
sase memory init renders the project files from the notes in sase/memory/. A
SASE-launched agent does not read these files: it gets a per-invocation
Instruction Bundle built from the same notes instead.
Agent Neighbor¶
An agent neighbor is any agent that is in the same agent hood as another agent. For
example, agents named foo, foo.baz, and foo.bar.1 are all neighbors of each other
because they are all in the same foo agent hood.
Agent Node¶
An agent node is the Agents-tab node for a non-dismissed sase agent: an agent session node, or an agent turn node when the agent has no session. A session node's member rows are sase turn nodes, not agent nodes. Dismissal removes the node, not the sase agent's identity.
Agent Relation Jump Target¶
Also known as: agent jump target.
An agent relation jump target is what an Agents-tab numeric keymap jumps to: a sase
node, or a dismissed sase agent that opens read-only in the Archive, reached through one
of the selection's agent relations. Each one is a numbered row, its number chip at the
left, in that relation's roster section: SESSION TURNS (an agent session's sase turns,
monitor and gate turns included), NEIGHBORS (the selected agent's agent neighbors,
dismissed ones included), CLAN MEMBERS (an agent clan's direct members), or
TRIBE MEMBERS (an agent tribe's top-level clans, sessions, workflows, and agents). The
rosters shown for one selection share a single number sequence: 0–9, or 00–99
past ten targets, capped at 100. Typing a number selects its target and reveals it
through any folds; if the target is a dismissed sase agent, it opens read-only in the
Archive. The jump panel, the sticky footer below the deck panels, lists every live agent
relation jump target.
Only numbered rows are agent relation jump targets. Rows behind a … +N more tail,
unnumbered child rows, … also listed under SESSION TURNS duplicates, and tribe
CLAN SUMMARIES / PROMPTS chips that reuse a member's number are not. Plain "jump
target" is ambiguous, and none of its other uses is an agent relation jump target: '
entry hints (including the AgentJumpTarget type in jump_hints.py), ,j/,J unread
and stopped-agent jumps, Ctrl+] prompt-definition jumps, and Admin Center section and
,L error-log jumps. The Artifacts tab's relation panel </> keys follow artifact
relations, not agent relations.
Agent Tab¶
Also known as: agents sub-tab, agents sub-tabs, agent tabs.
An agent tab is an exclusive, root-level, presentation-only placement of top-level sase
agents on the Agents tab. The field is always named agent_tab, never a bare tab. A
named tab is authored with %tab:<name>; agents without one land on the default tab,
labeled main, or on a derived Machine Tab when machine tabs are on.
Membership follows the presentation root (session, clan generation, or workflow), so a
container never splits across tabs. The strip shows once two or more tabs exist; ] /
[ cycle tabs, and selection, folds, and sticky panels are kept per tab. A tab never
changes where an agent runs, its identity, clan, session, or
Agent Tribe.
Agent Tribe¶
An agent tribe is a user-facing label for related agents across clans and sessions.
Assign a tribe at launch with %id(tribe=<tribe>) or #tribe:<tribe> for an auto-named
agent, %id(<id>, tribe=<tribe>) for an explicitly named agent, or
%clan(<clan>, tribe=<tribe>) for a clan. Tribes can also be managed after launch with
sase agent tribe and are displayed with an @ prefix.
Agent Turn¶
An agent turn is one concrete LLM/provider run. It holds a workspace claim while active
and is the execution row shown by sase agent list. Formerly called an agent shell.
Artifact¶
A SASE artifact is any durable record addressable by an artifact reference: a sidecar
document such as a plan or a research report, a bead, a completed agent, a Patch, a
stitch, a goal, or an indexed file. Every artifact has a canonical <kind>:<argument>
identity and an artifact markdown file that carries its typed links.
Artifact Markdown File¶
Also known as: artifact md file, artifact md.
An artifact markdown file is the Markdown document that carries one artifact's typed
links. A Markdown artifact is its own artifact md file. A non-Markdown file uses a
sibling <stem>.md; beads, agents, and Patches use their generated page, which is a
projection of the artifact's own store. A commit has none — links to a stitch render on
the other artifact. The file is created the first time the artifact acquires a link.
SASE renders those links as a table of hyperlinks near the top of the file. Agents write
links with sase artifact link and read artifacts with sase artifact read; they never
hand-edit a generated page.
Artifact Reference¶
Also known as: ref.
An artifact reference (ref) is a typed @<kind>:<argument> citation in an agent prompt.
Builtin kinds are @stitch, @patch, @bead, @agent, @goal (which cites a goal
and never binds one), and the special @file; artifact repos add document kinds such as
@plan and @research through a project's ref: config, written inline or with
use: <plugin>@<provider> from an installed provider plugin listed as a Required
Plugin. Every ref expands to prompt text, is recorded against the agent that used it,
and publishes as a [@kind:arg][N] link.
Clan Wave¶
A clan wave is a dependency layer of direct members in one generation of an agent clan.
A member is in wave 1 when none of its declared waits resolves to another member in the
same generation. Otherwise it follows one plus the highest wave of the members it waits
on. A wave is a layer, not a barrier, so later waves may start while earlier work is
still running. An epic land member may form an unnumbered ∎ seal stage when it alone
makes up the final layer and another layer exists. The Agents tab shows waves only for
layered clans: clans with two or more layers, or with any member caught in a wait cycle.
Core Memory¶
Also known as: core memory.
A SASE memory that renders as always-loaded context. Author new notes with type: core frontmatter; they are inlined into AGENTS.md and every provider instruction shim. Legacy type: short still parses as core.
Current Project¶
The current project is the one sase project SASE treats as your working context: in
practice, the one you most recently launched an agent on. It is derived, not stored —
the first entry in the shared VCS macro MRU store (~/.sase/vcs_macro_mru.json) that
maps to an enabled project, where a Patch entry yields its owning project.
sase project set-current and the Projects tab in sase's TUI promote a project without
launching; the working directory never does, and there may be none. It supplies only
display and defaults, namely the TUI top-bar +<project> chip and the first-open value
of project filters, so it never overrides an explicit choice, project lifecycle state,
or what a command targets. sase project current prints it.
Deck Panel¶
Also known as: deck layout.
A deck panel is one Agents-tab detail region that shows one agent data deck. The Agents
tab shows one to three deck panels: one panel, two in a stacked split (\, one above
the other) or a side-by-side split (|, side by side), or four three-pane T shapes with
a full-span main panel, following vim's split naming. One split-key rule governs them
all: \ draws a stacked divider and | a side-by-side divider; if that kind of divider
already spans the whole area, the key erases it and the side you are on grows to fill
the space; otherwise, with fewer than three panels, the key draws the divider through
the focused panel; with three panels, the key turns the layout. Ctrl+F / Ctrl+B move
the logical focus that deck, card, scroll, search, and fold keys act on, Ctrl+Shift+F
/ Ctrl+Shift+B (aliases > / <) swap the focused panel's session with the next /
previous panel, Ctrl+Shift+D (alias Ctrl+X) closes the focused panel, Ctrl+T turns
the layout, and Z zooms the focused deck panel in place. The identity header and the
jump panel span every deck panel and belong to none.
Failure Signature¶
A failure signature is the normalized, extractor-versioned identity of one durable failure item from a Tool Run. It keeps a bounded display, locator paths, and occurrence count so observations of the same failure can be classified and grouped without requiring retained raw logs.
Feature Flag¶
A feature flag is a code-owned boolean route for SASE behavior that reaches users before
it is ready to become unconditional. Flags are temporary, are created through
sase flag new, and must be removed through their dedicated flag task bead.
Flag Bead¶
Also known as: flag bead.
A flag bead is a task bead of type flag: the dedicated top-level removal dossier for
one SASE feature flag. It owns the flag key, kind, both-branch prose, and the
remove_by_date and remove_by_release thresholds that drive FlagTriage. It is not a
fourth issue type and not the epic or task that introduced the behavior.
Gate Turn¶
A gate turn is a session-attached turn — like a monitor turn or an agent turn — that
owns one durable command-backed decision. It publishes the decision, outlives the agent
that created it, runs the option commands the reviewer selects, and hands their outcome
to the next session member. A gate carrying a turn block (turn_kind: "gate") is a
gate turn. Creating a gate turn from inside an agent hands off and kills that agent's
turn; if the creator had no agent session yet, attaching the gate turn promotes it into
one. Members are named <session>--gate, then --gate-0, --gate-1 — the same suffix
scheme a sase monitor uses for --mon. A gate turn settles as completed, failed,
timeout, stopped, or lost, and launches only the follow-up recorded for the branch
the reviewer selected. A gate turn contains no LLM and never keeps its creator alive
while awaiting a human. Inspect gate turns with sase gate. Formerly called a gate
shell.
Goal¶
Also known as: goals, ⌖.
A goal is a person-owned durable outcome record with identity goal:<id> (shown as
⌖<id>). It moves through active, review, done, and dropped; Running versus
Idle is derived from agent liveness and never stored. @goal:<id> cites a goal in a
prompt and never binds one; see Artifact Reference for the
citation mechanics and Goal Ledger for the storage
contract.
Not to be confused with a plan's goal: frontmatter field (one line of intent, no
record behind it), a task bead (agent work tracking), or agent status (liveness, not
outcomes).
Instruction Bundle¶
Also known as: instruction bundle.
An instruction bundle is the frozen per-invocation render of the project, home, and SASE
instructions for one agent invocation, built from sase/memory/ plus the operator's
home memory layer and a provider directive. Each SASE root invocation gets one bundle,
delivered exactly once through an adapter-owned explicit channel; preview it with
sase instructions render and inspect what an agent received with
sase instructions show NAME. Successful preparation records the bundle bytes beside
its Instruction Manifest under instructions/. It never
contains the committed AGENTS.md projection header.
Instruction Manifest¶
Also known as: instruction manifest.
An instruction manifest is the JSON sibling of an
Instruction Bundle: it records which sections were included and
their digests, plus the delivery status, so an agent's intended context can be compared
with what the provider actually loaded. Unlike a Receipt, which proves one
settled tool run, a manifest records intent, never observed delivery — use
sase instructions verify for the observed side.
Job¶
Also known as: Chop, chops.
A job is one short, script-only unit of scheduler automation. The sase scheduler supplies its context and applies configured cadence, triggers, guards, timeouts, and deduplication; a structured result may request follow-up launches, which only the runner performs. Chop remains an accepted lookup alias for older documentation, commands, and legacy state paths.
LLM Calls¶
LLM Calls is the Agents-tab card, in the Tools agent data deck, that shows normalized
provider tool-call artifacts (tool_calls.jsonl and compatible legacy rows). It is a
presentation/read-model term for what an LLM/provider did during an agent run, not an
execution record: named SASE tools and future ToolRuns are separate control-plane
concepts.
Machine Tab¶
Also known as: machine tabs.
A machine tab is the derived default Agent Tab placement for agents a
remote machine owns, labeled ⌨ <alias>; the default tab renders as the ⌨ local
machine tab when machine tabs are on (ace.agent_tabs.machine_tabs). Machine tabs are
derived, never authored: %tab:<alias> is an ordinary named tab, distinct from
⌨ <alias>. The key is the owner's installation id, so renaming an alias relabels the
tab and keeps its selection and memory. A stale host's label turns amber and an invalid
or offline host's turns red.
Macro¶
Also known as: xprompt.
Formerly called an xprompt. Triggered with #foo in agent prompts. Defined in a
sase/macros/ directory (.md or .yml file) or in ~/.config/sase/sase.yml (macros
field). Each use of a macro in a prompt is a macro invocation (smack).
Macro Invocation¶
Also known as: smack, macro reference, macro ref.
A macro invocation (smack) is one #name or #!name use of a macro in prompt text,
with its arguments and modifiers: #review(path=a), #review:x, #review: text,
#flag+, #ns/name, or a standalone #!sync. SASE expands or runs it before the agent
sees the prompt. The macro is the definition and the invocation is one use of it; a
prompt can hold zero or many. VCS workspace references such as #gh:sase and
#git:home are invocations of workspace workflows, and a project tag expands into one.
A # token that names no macro passes through as literal text, and one inside a literal
zone is not an invocation. Smack is short for sase macro invocation.
Macro Memory¶
Also known as: memory file, sase memory.
A flat SASE memory note exposed as a namespaced macro: sase/memory/foo.md expands with
#memory/foo, and the memory/ prefix is required.
Macro Part¶
.md file -> single prompt_part step with the file's content.
Macro Swarm¶
A macro whose body contains top-level --- segment separators outside fenced blocks and
fans out into one agent per segment at launch. Literal user prompts can also use ---,
but those are generic multi-agent prompts rather than macro swarms.
Macro Workflow¶
.yml file -> multiple steps (prompt_part, python, bash, etc.).
Memory Strand¶
One note inside a Memory Web, stored at sase/memory/<web>/<slug>.md. A strand body is
never inlined into a generated document; it is fetched on demand by Strand Keyword. A
project strand overrides a home strand with the same slug.
Memory Web¶
A memory web is a keyed note collection: one flat descriptor note
(sase/memory/<web>.md, marked web: true) plus a sibling directory of strand files.
The descriptor must not declare type: or parent:; a web's kind, not a rendering
declaration, decides its placement, so its body always renders in the generated
document's Memory Webs section and carries a roster naming every strand. Strand bodies
never inline, and are read on demand with sase memory read <web>:<keyword>.
Named Proc¶
A named proc is a supervised proc with a stable proc_name (proc_role: "proc"), with
durable output and lifecycle state. A monitor turn's command runs as a named proc named
after its member. A stand-alone %proc prompt unit is a named proc that belongs to no
agent or session, allocates no agent runner, and appears in the Agents tab as its own
proc node, counted separately from agents. A gate turn's execution proc
(proc_role: "gate") does not make the gate turn a monitor turn. Formerly called a proc
shell.
Nav Item¶
Also known as: navigation item.
A nav item is one selectable row in a nav section — a stop for row navigation such as
j/k. On the Agents tab, every sase node is a nav item; on the Services tab, every
service proc, oneshot, routine, and job row is; on the Artifacts tab, every entry in the
visible pane's list (an agent, stitch, Patch, bead, document, or file) is. A collapsed
grouping banner on the Agents tab or Patch pane is a nav item while collapsed, yet never
a node. Panel titles, expanded banners, headings, dividers, and empty-state rows are
chrome, not nav items, and a selected whole tribe panel (❖) is a selected nav section,
not a nav item.
Nav Section¶
Also known as: navigation section.
A nav section is one panel in the left-side navigation column of a main TUI tab; each of
its selectable rows is a nav item. On the Agents tab, every agent tribe panel
(@default, @<tribe>, or the merged All agents panel) is a nav section; on the
Services tab, the Service Procs and Scheduled Routines panels are; on the Artifacts tab,
each pane's entry list (Agent, Commits, Patches, Beads, a document provider such as
Plans, or Files) is one, and only the visible pane's list shows. A nav section is a
whole panel: grouping banners, in-list headers and dividers (Beads Tasks, the Services
── oneshots ── divider), the Artifacts relation and Patch info panels, right-side
detail panels, and Admin Center lists are not nav sections.
Node Panel¶
The node panel is the Agents tab's left column of sase node rows: tribe panels divide
the active Agent Tab, one agent list per tribe, or one merged list at the
Merged and All-tabs layout levels. Ctrl+S collapses it into a slim node spine without
unmounting it, so j/k still move the selection and the identity header still follows it;
the spine and an info-row chip show the selected position and restore the panel.
Oneshot Service Proc¶
Also known as: oneshot, background command.
A oneshot service proc runs once to completion and is never restarted. Transient
oneshots are created at runtime by the TUI's ! background commands or
sase service proc run; they run outside the sase service's process tree, so restarting
the sase service does not kill them. Distinct from a job, which a routine runs on a
schedule.
Patch¶
A Patch is SASE's local unit of change. Every PR created or managed by SASE is
associated with exactly one Patch, but a Patch may exist without a PR, represented by an
absent PR: field. Active Patches live in ProjectSpec <key>.sase (directory key
<key>; see Project, Repo, and Workspace); terminal ones (Submitted, Archived,
Reverted) live in <key>-archive.sase. Sections: NAME, DESCRIPTION, PARENT, PR, STATUS,
STITCHES, HOOKS, COMMENTS, MENTORS. Status lifecycle: WIP -> Draft -> Ready -> Mailed ->
Submitted.
Proc¶
Also known as: procs.
A Proc is a durable background process SASE records, supervises, and can stream or kill.
Procs live in ~/.sase/procs/procs.jsonl with combined output logs and are surfaced by
sase proc and the Procs tab in sase's TUI. Historical proc rows may use command,
tui, or detached kind values, but those names are compatibility labels rather than
permanent semantic categories. Runs of service procs carry a service marker; the Procs
tab hides them by default. A supervised proc with a stable name is a
Named Proc. Distinct from a task bead, which is a work item, and from an
asyncio task.
Project Tag¶
Also known as: macro project tag, project tags.
A project tag is the +<project> word naming the Sase Project an agent
runs in. It resolves by key, name, or alias, case-insensitively, against unique names,
then expands to the project's VCS macro ref and shares its backend. It is the default
spelling; #gh:/#git: remain for Patches, owner/repo, @agent, and new projects.
An anchored tag (first word on its line) must resolve. It renders in the project's
accent, like the chip.
Prompt Stash¶
Also known as: stash.
A prompt stash is the per-user draft pile where sase's TUI parks prompt panes outside
prompt history: manual Ctrl+S/gs captures, restart stashes, and failed-launch
recovery rows. Stash rows keep their bundled pane order, frontmatter, cursor, project,
source, creation time, and pin. The stash surfaces as the Stash tab of the Prompts
overlay (@, ,@, Ctrl+G p, the stash chip, empty Ctrl+S); on the Stash tab @
restores the newest draft, so @@ pops the most recently stashed prompt. Rows
deliberately discarded from it move to Stash Trash for bounded recovery
instead of permanent deletion.
Raw Prompt¶
The raw prompt is an agent's launch prompt after project tags and macro aliases are
canonicalized (+sase becomes a #gh: workspace reference and #c becomes #commit)
and before any macro invocation expands. It is saved as raw_prompt.md, shown on the
RAW PROMPT tab, and reused by restarts. It follows the submitted prompt
(submitted_prompt.md, the launch-boundary text before canonicalization) and precedes
the expanded prompt the model receives, from which directives are stripped. It is
unrelated to sase prompt show -f raw and to raw <label> placeholders.
Receipt¶
A receipt is the machine-local proof that one named Tool Catalog entry
produced one settled Tool Run with one trustworthy
Triage Verdict on one exact fingerprint. The Rust core mints it only
after wrapper and triage settlement for an eligible run, and sase tool receipt reports
it (or exactly one typed refusal) without ever claiming a completion policy is met. An
explicitly opted-in prepared Sase Monitor completion may consult a
covering, unexpired receipt before committing an all-KNOWN/FLAKY tree; the receipt never
skips or reuses the execution itself.
Reference Memory¶
Also known as: reference memory.
A SASE memory declared by type: reference frontmatter, named in AGENTS.md with a description, and fetched explicitly through an audited sase memory read. Author new notes with type: reference. Legacy type: long still parses as reference. Reference Memory is read on demand, unlike Core Memory.
Required Plugin¶
Also known as: required plugin.
A required plugin is a distribution listed under plugins.required in project config as
a PEP 508 requirement. A linked or sidecar checkout is not an install: SASE checks the
running environment's distributions. Every non-builtin <plugin>@ prefix used in that
project — including Artifact Reference, file-hook, and Task Type use: values — must
appear in the list. sase memory init and sase validate fail closed when a required
plugin is missing; interactive surfaces may offer to install.
Routine¶
Also known as: Lumberjack, lumberjacks.
A routine is an independently supervised scheduler process that runs its configured jobs concurrently on a fixed interval and records its own state and metrics. The sase scheduler starts it and restarts it after crashes. Lumberjack remains an accepted lookup alias for older documentation, commands, and legacy state paths.
Sase Agent¶
Also known as: agent.
A sase agent is an agent session or a single agent that does not belong to a session. It
owns an ordered sequence of sase turns, and its name never ends in --<suffix> because
that suffix is reserved for agent turns. A one-turn agent may share its turn name, while
a session uses the bare name for its container.
Sase Agent Session¶
Also known as: agent session.
A sase agent session is a sase agent whose agent turns run as a strictly sequential
chain. Its turns use <session>--<suffix> names. The first
%id(<suffix>, session=<parent>) attachment renames the original turn with its own
suffix and reserves the bare session name as the sase agent container, so a session
always has at least two turns. It was formerly called an agent family. It is distinct
from TUI sessions (sase proc --session), provider transcript sessions (session_id),
and question sessions.
Sase Gate¶
Also known as: gate.
A sase gate is a durable, command-backed request for one user decision, created when
work must pause for the user. Each gate is a bundle under
~/.sase/interaction_requests/<kind>/<request-id>/ holding the hashed request, the
reviewed content, and the argv commands its options run; a notification row is only its
transport projection, so sase's TUI, Telegram, mobile, and sase gate all answer the
same bundle. An option query such as (approve AND commit) OR reject names the mutually
exclusive branches; answering selects a non-empty subset of exactly one branch, runs
those options' commands, and writes response.json once, while a gate's declared
actions are repeatable and never answer it. Typed kinds (plan, epic plan, question,
launch, task triage) have their own front doors; sase gate create builds a custom
one. A gate carrying a turn block is a gate turn and settles as completed, failed,
timeout, stopped, or lost; a gate with no turn block settles only as answered,
cancelled, or timed out. sase gate wait reports the latter and is for non-agent
callers — an agent observes a gate turn through the session it hands off to, never by
waiting. Unrelated to the pytest suite gate and just check's lint gates.
Sase Monitor¶
Also known as: monitor, monitor turn.
A sase monitor is a monitor turn that runs one long command under a detached supervisor,
so the command outlives the agent that started it. Starting one from inside an agent
hands off and kills that agent's turn, and an agent has at most one active monitor at a
time; monitor members are named <session>--mon, then --mon-0, --mon-1. A monitor
settles as completed, failed, timeout, stopped, or lost, and only the first
three launch the follow-up agent recorded by --next. Inspect monitors with
sase monitor.
Sase Node¶
Also known as: node.
A sase node is one row of the Agents tab's agent tree: an agent clan node, an agent node
(with its member sase turn nodes), an agent step node — a workflow python, bash, or
parallel step — or a stand-alone named proc node. Every sase node is a nav item, but
nodes exist only on the Agents tab: Services and Artifacts nav items are not nodes.
Grouping banners (including selectable collapsed ones) and tribe-panel titles are not
nodes.
A node's status is the word its row shows, including render-time overlays such as
FINALIZING; a container node derives its status from its members, and an agent clan
node with exactly one running member node shows that node's status.
Sase Project¶
A sase project is a named unit of work registered with SASE. Existing repositories can
be added with sase project add or the New Project wizard; the wizard can also create a
repository through the provider. sase project create creates a repository and
registers the resulting project. A new VCS macro argument can also create a project:
#git:<name> accepts any valid project name, while #gh:<org>/<repo> requires an
existing GitHub repository. Its ProjectSpec is ~/.sase/projects/<key>/<key>.sase,
where the directory key <key> is <name> for #git projects but gh_<org>__<repo>
for #gh projects (ex: gh_sase-org__sase); the user-facing name is the spec's
PROJECT_NAME: (ex: sase) or, if unset, the key. Projects have exactly two
user-facing states, enabled and disabled; onboarding leaves PROJECT_STATE: unset, so
new projects are enabled by default, and only an explicit disable changes that. The
system-managed home project remains hidden. Prompts name an existing project with a
Project Tag (+<project>). Directory keys, names, and aliases are
unique across projects and VCS types, compared case-insensitively.
Sase Repo¶
A sase repo is any repository SASE knows: a project's primary repo, an artifact sidecar
repo such as <project>--plans or <project>--research, or a repo declared through
repos.linked.
Sase Scheduler¶
Also known as: scheduler, AXE.
The sase scheduler is the builtin service proc behind sase scheduler that runs SASE's
background automation: it starts one process per routine and restarts crashed routines,
and routines run jobs. The sase service owns the scheduler's process lifetime; the
scheduler owns only its routine/job tree. AXE is its former name and remains an accepted
alias.
Sase Service¶
Also known as: service host.
The sase service is the per-machine host process (sase service run) that starts,
restarts, and stops that machine's service procs, with at most one per SASE home.
sase service init registers it as a platform unit — a systemd user unit on Linux, a
launchd LaunchAgent on macOS — so it starts at boot or login; without one,
sase service start runs it detached. systemd/launchd supervises the sase service
itself, never each service proc. Say 'service proc' for what it runs and 'platform unit'
for its registration; bare 'service' is ambiguous.
Sase Turn¶
Also known as: turn.
A sase turn is one executing member of a sase agent: an agent turn, a monitor turn, or a
gate turn. A sase agent is an ordered sequence of sase turns. Read the three kinds like
a chat transcript: an agent turn is the assistant speaking, a monitor turn is a tool
result arriving, and a gate turn is the human's move. Formerly called a sase shell. Not
a provider's internal round trips (num_turns) or a chat-history conversation turn.
Sase Workspace¶
Also known as: workspace.
A sase workspace is a numbered clone of a project's primary repo, managed by the
workspace store and tracked in that project's registry.json. Each SASE agent claims
exactly one workspace until completion. Workspace directories are not repos. Linked-repo
clones materialized for a workspace are repo checkouts, not additional workspaces.
Service Proc¶
A service proc is a named proc the sase service owns, declared under service.procs by
core (builtin), a plugin's config layer, or the user, or created at runtime as a
transient oneshot. Its mode is daemon — kept running under its restart policy — or
oneshot — run once to completion. Control one with sase service proc or its
Services-tab nav item, which stays the same row across restarts; enabled: false in a
machine overlay keeps it off that machine. Every launch is a distinct durable Proc
carrying a service marker, hidden from the Procs tab and proc gear by default.
Stash Trash¶
Stash Trash is the bounded, transactional recovery bin for drafts deliberately discarded
from the Prompt Stash. It surfaces as the Stash tab's Trash view in the
Prompts overlay (the 🗑️ chip on the Stash tab, or t; t/Esc return to Stash),
newest-deleted-first with the deletion age visible, and restores move rows back to Stash
while the overlay stays open. It holds at most ace.prompt_stash.trash_limit entries
(default 100, an entry-count limit; zero disables recovery). Overflow evictions and
lowered-limit reconciliations permanently delete oldest-first and are always surfaced.
Successful unpinned stash restores never enter Trash, and history deletion remains
outside the overlay.
Stitch¶
A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.
Every VCS commit made through the tracked workflow has an associated numeric stitch, but
a stitch need not have a commit: proposals retain numeric-plus-letter IDs such as
(2a). The sase stitch create command and real Git/Mercurial commits are still called
commits.
Strand Keyword¶
The keyword: a Memory Strand is addressed by, as <web>:<keyword>, together with any
aliases:. It is distinct from the strand's filename slug, which is its identity.
Task Type¶
Also known as: task type.
A task type is the required, plugin-extensible flavor of a task bead — bug, ci,
feature, flake, memory, the project-local flag type, and plugin slugs such as
github. It is distinct from the bead's issue type (plan, phase, task). New tasks
take -T "task(<slug>)" plus -f/--field values; the type is immutable after create.
The catalog is assembled from builtins, sase_task_types plugins, and bead.task_types
project config, then snapshotted to sase/task_types.json so generated instructions
stay a function of committed files and Required Plugin entries rather than whichever
optional plugins happen to be installed.
Tool Catalog¶
The Tool Catalog is the set of named tools (check, test, ...) declared under
tools: in the Current Project's own sase/sase.yml. Entries are
complete argv definitions that user, machine, plugin, and builtin config layers cannot
alter. sase tool list shows them; each execution becomes a Tool Run.
Tool Run¶
A Tool Run is the durable, machine-local record sase tool run writes for one execution
of a Tool Catalog entry (or an ad-hoc argv): owner, lifecycle, exit or
signal, stage timeline, and before/after fingerprints. It records what a command did; it
is not the Agents-tab LLM Calls card, and it is not a
Sase Monitor or Proc (those may own the run). The execution
runs in the foreground or is handed off to a monitor or proc that owns it
(sase tool run -H outside agents, sase monitor start inside them); either way the
run keeps one durable id that stays followable (show -F), waitable (wait), and
stoppable (stop) until it settles to an outcome or a typed uncertainty.
Its failed stages can carry Failure Signatures and a Triage Verdict without changing the recorded outcome.
Triage Verdict¶
A triage verdict summarizes the stored failure-item classes for one failed Tool Run: it distinguishes new failures from runs with only KNOWN or FLAKY items, while preserving the command's original exit code. Missing evidence remains UNKNOWN rather than being attributed to another agent.
Usage Window¶
Also known as: usage-window.
A usage window is a provider-reported capacity allowance over a time interval, scoped to all models or to a model/product subset, independently identified and measured, with a reset time when the provider reports one. Claude examples include its five-hour all-model window, weekly all-model window, and weekly Fable window.
Usage windows can overlap, and their percentages are independent: do not add, average, or otherwise merge them. A window's duration is the size of the interval; time remaining to reset is a separate clock-derived value.
_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.