The three nouns
Space — everything an agent has, as one addressable tree: ~/memory/ (its files) and ~/tools/ (its tools). Configuration is content. → The Space
Log — everything that happened in a thread: an append-only sequence of events, each stamped with an actor. A shared workspace log, not a chat transcript. → The Log
Runs — everything that executes. Every turn, child, and script is a row in a tree; the table doubles as the dispatch queue. → Runs
The five verbs
read — one verb, any address: ~/memory/…, ~/tools/…, hm://…, ipfs://…, https://…, activity:, attachment:…, thread:…, run:….
write — the mirror: memory files, authored tools, hypermedia publishing (gated by the publish grant), IPFS.
call — invoke a callable tool by name. Wrong input returns the tool's contract instead of an error.
delegate — spawn a child run: a model child (given a brief) or a script child (given a script).
plan — maintain the thread's visible checklist.
→ The Five Verbs
Core objects
agent — a definition (name, prompt, provider, model, grants, signing keys) plus a private state directory. → Agents and Grants
session (thread) — a conversation: a durable event log with a title and a status. One session accumulates many runs. → Sessions and Threads
run — one unit of execution, of kind: 'agent' | 'workflow'. An agent run has a session; a workflow run does not.
event — one durable row on the Log: message, tool_call, tool_result, or error.
actor — who did it: user, agent, system, or trigger. Every event carries one.
signing identity — an Ed25519 key the server signs hypermedia writes with, stored encrypted and referenced by name from an agent definition.
Tools
tool document — every tool is a content-addressed DAG-CBOR document in ~/tools/; its CID is its version. Either builtin (a runtime binding) or lambda (authored source). → Tools as Documents
contract — a tool's full model-facing spec: description plus input/output JSON Schemas. read ~/tools/<name> returns it.
Space index — the compact <space> block in every system prompt, budgeted at 2 KiB: one line per tool, memory's top level, active triggers.
touch-expand — a call to an unexpanded tool (or with wrong input) returns the contract instead of failing; the retry executes.
promotion — once a contract enters the transcript, that tool becomes a first-class provider tool for the rest of the thread — derived from durable events, so it survives restarts. Always intersected with the enabled callable set.
grants — per-agent permissions: the callable set (search, web_search, navigate, execute) and publish. Verbs are never grants; memory writes are never gated.
callable — a tool reached through call rather than exposed directly to the provider.
lambda — an agent-authored tool whose source runs in the sandbox. Requires the same execute grant its runtime needs.
Delegation and scripts
child — a run spawned by delegate. A model child gets its own session; a script child runs in QuickJS.
brief — the markdown briefing that becomes a model child's first message verbatim. The prompt is the interface.
typed result — a child spawned with an output schema must deliver through return_result; validation failures bounce back for self-correction.
detached — delegate {await: false}: the parent does not park on the child, but the child stays in the run tree.
script / ctx — a script child's world: ctx.call, ctx.delegate, ctx.parallel, ctx.step, ctx.plan, ctx.sleep, ctx.waitForEvent, ctx.continueAsNew, ctx.now, ctx.log, ctx.progress. → Scripts and the Journal
journal — a script run's durable effect record. Resume replays the source against it; completed effects never re-execute.
content key — the deterministic key an effect is journaled under, so replay matches by content rather than order.
narration — the {description} on a ctx.call: display metadata that rides the journal entry but stays outside the content key.
Plans
step — one checklist item with a stable id and a human label. Models rewrite labels; ids persist.
attachment (plan) — a child spawned while a step is running belongs to that step, joined by planStepId.
batch step — one running step owning a whole parallel batch of children.
settlement — closing a step. The runtime derives it only from success: a step whose attached children all succeeded is closed resolvedBy: 'runtime'. → Plans
Time and continuation
park / wait — a run pausing without holding resources. Reasons: children, timer, event, budget-pause. → Time and Parking
wake source — whatever ends a park: children finishing, a timer, a signal, an activity event, or a human Resume.
SignalRun — the action that delivers a signal to a parked run; exactly-once, transactional. → SignalRun
answerWith — the signal name a park advertises, so the Answer button sends something the wait accepts.
continueAsNew — finalizing a run into a fresh successor that keeps its place but starts a clean journal. → continueAsNew
obligation — work a run owes before ending honestly: typed debt (undelivered result) or plan debt (unsettled steps). → Obligations
Triggers
trigger — standing configuration binding a source to a continuation. → Triggers and the Event Bus
source — schedule, document-comment, user-mention, site-update, or run-completed.
continuation — what to do when it fires: newThread or wake.
firing — one trigger activation, deduped exactly-once by an activity key.
loop guard — the check that stops run-completed chains from ping-ponging forever (8 hops).
watermark — the durable per-account cursor into the activity feed.
Platform
signed envelope — the DAG-CBOR wrapper carrying an Ed25519 signature; the signature is the authorization. → The Signed Protocol
idempotency key — clientRequestId/clientMessageId; same key and bytes replays the stored response.
subscription key — account/…, agents/…, sessions/…, or runs/… (root run id).
wrench palette — the composer's tool button: run read/write/call yourself; results land on the log with a "You" chip. → The Desktop Surface
run card — one component with two moments: pinned while live, frozen into the log when done.
Process
checkmark — a milestone branch, verified (suites, adversarial review, gates) before review is requested.
live gate — scripted scenarios against a real server and real model; deterministic properties are enforced, model behavior is reported. → Testing and Gates
STALE marker — the file that makes stale cassettes skip loudly instead of pretending to pass.
Related
The Harness — the map
Limits and Constants — every number
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime