Skip to content

Glossary#

Terminology used throughout docs/specifications/.

Term Meaning
Provider A plugin binary implementing one of the seven categories: model, tool, memory, context, frontend, widget, slashcommand.
Category One of the seven provider kinds above, each with its own protocol (model/, tool/, memory/, context/, frontend/ — widget is documented alongside frontend — slashcommand/).
Resource A tool operation that mutates state — gated behind the plan/apply flow. See agent-loop/plan-apply-gate.md.
Data source A tool operation that only reads — executes freely (subject to a policy precheck, not a plan/apply gate), feeds the plan.
Interactive A tool kind for calls that neither read nor write state but require a human response mid-turn (e.g. ask_user). See tool/protocol.md and agent-loop/plan-apply-gate.md.
Plan The set of proposed resource (mutating) calls for a turn, shown as a diff for operator approval.
Apply Executing an approved plan.
Hook A named lifecycle point in the agent loop that plugins and first-party policy can subscribe to (session-start, context-assemble, pre-model-call, post-model-response, pre-tool-call, post-tool-call, plan-ready, post-apply, session-end). See agent-loop/hook-dispatch.md.
Hook mode How a hook subscriber participates: observe (read-only), transform (returns a modified payload for the next subscriber), or veto (can short-circuit with an explicit decision).
Emit A plugin sending a raw, opaque-payload event into the kernel, persisted verbatim to the state backend.
Event payload schema The event.v1 message a given event kind's payload marshals to/from — schema_version "1" of that kind. Normative for the emitting owner, still opaque to the kernel at write time. See state-backend.md.
Backfill The unicast replay a frontend receives on attaching to a session: persisted events re-rendered in sequence order through the supersedes path, bracketed by SessionAttached and BackfillComplete. See frontend/frontend-protocol.md.
Render A producer plugin turning its own previously-emitted payload into a display-agnostic RenderTree, on request from the kernel.
Paint A frontend plugin turning a RenderTree into actual pixels/text/audio.
RenderTree The display-agnostic intermediate representation every Render call returns — formally defined in frontend/render-tree.md and shared verbatim by every category's Render RPC.
Supersedes Version-pinned replay: an old event renders via the exact plugin version that produced it (producer.version), never a provider-authored upgrade function.
Producer The {category, name, version} identity attached to an emitted event, a log line, or a span — the thing a RunSession/Log/Emit call is attributed to. See kernel-callbacks.md.
RunSession The kernel callback primitive that runs a full agent session — used for sub-agent spawns today, and reserved for a future non-interactive pipeline mode. See agent-loop/subagents.md and kernel-callbacks.md.
CountTokens The kernel callback primitive that resolves an exact-if-possible token count for a string, preferring a model provider's real tokenizer and falling back to a canonical heuristic only as a last resort. See kernel-callbacks.md.
Policy The first-party, kernel-privileged rule-matching DSL in agent.hcl that decides allow/ask/deny for resource, data-source, and interactive calls — mechanically a veto-mode subscriber at the plan-ready hook. See configuration/policy-dsl.md.
Agent profile A named, scoped capability set (model, tools, policy overrides, depth budget) in agent.hcl that a sub-agent spawn selects, rather than inheriting the parent session's full unscoped capabilities. See configuration/agent-profiles.md.
Depth budget The remaining sub-agent nesting allowance threaded from a profile's configured maximum, decremented per RunSession hop, distinct at the root (kernel default) vs. a child (inherited).
State backend The kernel-owned, non-pluggable (in v1) persistence layer — sqlite-per-session — recording every event, cost figure, and plan item. The kernel is its sole writer. See state-backend.md.
Schema-to-cty bridge The mechanism translating a provider's declared config schema into an hcldec spec so agent.hcl provider blocks decode through real HCL2/cty, distinct from the JSON-Schema subset tool authors use for LLM function-calling. See configuration/blocks-reference.md.
Canonical message The kernel's internal content-block message representation (text, tool_use, tool_result, image, thinking, redacted_thinking) — the state backend's source of truth, independent of any one vendor's wire format. See model/data-types.md.
Lock file .agent/agent.lock.hcl — pins resolved provider version, source, and checksum per provider, mirroring .terraform.lock.hcl. See configuration/lock-file.md.
Event bus The ephemeral, best-effort, cross-plugin publish/subscribe primitive behind Publish/Subscribe — distinct from Emit (durable), hook dispatch (synchronous, agent.hcl-declared), and frontend broadcast (connection-scoped). See event-bus.md.
Topic A dot-separated string identifying an event-bus channel — plugin.{category}.{name}.{event_type} for a plugin-published event, kernel.* reserved for the kernel. See event-bus.md#topic-grammar.
Publish / Subscribe The kernel callback primitives that put an event onto the bus and receive a live stream of events matching a topic filter, respectively. See kernel-callbacks.md and event-bus.md.
Telemetry relay A plugin's own trace spans and metric observations reaching the operator's configured collector via the kernel (ExportSpans/RecordMetrics), rather than each plugin process exporting OTLP directly. See observability.md.