Skip to main content

Glossary

One line each. Follow the link when one line is not enough. The story those terms hang off: how it hangs together.

Two distinctions cause most of the confusion here, so they are worth stating up front:

  • Catalogue-only versus executed. The catalogue can record more than Agent Runtime does. Where a term is recorded but not acted on, it says so. See autonomy modes.
  • Audit versus observability. Both watch a run. Audit is the evidence path — append-only, queried by correlation_id, kept. Observability is the ops path — OpenTelemetry into Grafana, for debugging.

Boxes and services​

TermDefinition
Enterprise Agent FabricThe shared front door and control plane for acting AI. Identity, routing, policy, and proof run once; domains keep the intelligence
AFD — Agent Front DoorThe only public ingress. Entitles, freezes, and starts Runtime. Chat and jobs
ADP — Agent Data PlaneCatalogue and classify. Owns POST /v1/intent/decide. Does not pin or start Runtime
ACP — Agent Control PlaneThe catalogue browser UI. No database, no decide API. Not a Fabric box
AR — Agent RuntimePins the freeze, hydrates, and runs the LangGraph graph
ACR — Agent Capability PlanePublished capabilities and manifests as immutable id@version. Hydrated once, at pin
AADP — Agent Audit Data PlaneAppend-only evidence ingest and query
AACP — Agent Audit Control PlaneOps UI over evidence chains. No database of its own
Agent PlaneACP plus ADP, one per trust domain. Classifies; does not execute
SharedMemory, RAG, model, and tools — called from Runtime, not built into it. Largely not implemented
PEP — Policy Enforcement PointThe dual user-and-agent check before a tool invoke. Production target, not local
BFFThe connection-bound shape of the Chat Front Door fleet, as opposed to the handler-shaped API fleet
DMSThe enterprise document store. Front Door puts bytes there and starts Runtime with a JSON id only
agent-mocksLocal HTTP doubles for domain tools and corpus gateways

Catalogue objects​

TermDefinition
RouteThe product. A versioned row keyed (route_id, route_version); one version per id is active
CapabilityAn immutable published id@version. Either kind=domain (HTTP to a business API) or kind=agent (starts a child route)
ManifestThe list of capability references a route pins. Stored on the route as tool_manifest plus tool_manifest_version
Prompt packThe text the LLM sees: a host string plus a template per llm_role
WorkflowA fixed, ordered stage list. Required by autonomy modes 2 and 3
StageOne named step in a workflow: an id, an optional tool, an llm_role, optionally branch or human_gate
CorpusA registered search gateway — a URL and collection that prefetch POSTs to
Memory profileRoute policy for conversation, working, loop, and long_term. Policy, not a store
RetrievalRoute-level corpus policy: a mode plus a scope of corpus ids
activeThe one version of a route that new requests classify against. Implies status='active'
publishedAn immutable released cut. Not necessarily the live one
draft / retiredWork in progress, not hydratable / withdrawn from service

Execution​

TermDefinition
EntitleCheck the caller's emts against the route required_claims (and channel). Jobs skip classify, still entitle
DecideThe Data Plane classify call. Returns route, clarify, or abstain
clarifyDecide asked the user to choose between candidates. Never pins
abstainDecide declined to route. Never pins
FreezeThe Front Door record mapping session_id to a pinned route and correlation id. Route stickiness with a TTL — not conversation memory
PinThe durable Runtime record of route_id plus route_version. Fixes the catalogue snapshot the run executes against
HydrateOne-time resolution of the pinned route, manifest, capabilities, and prompt onto the run, before the first LLM call
goalThe immutable ingress payload: a job payload or a chat utterance. Never updated mid-run
slotsStructured JSON per completed stage, at working.slots[stage_id]
notesAppend-only strings on working, fed to LLM stages
GraphStateThe Runtime state object: result, goal, notes, slots
activation_targetWhere Runtime runs for this route. Channels never dial it directly
agent_client_idThe software identity pinned on the run, distinct from the user. The robot a downscoped token is minted for — identities
required_claimsUser entitlement filter on the route. All-of against emts. Decide, before pin
emtsTrue-valued keys on stub claims. The user's entitlement set
pdp_actionAction id on a manifest tool ref. Intended agent-token scope and PEP action. Catalogue-only today
human_gateA workflow stage that pauses the run at waiting until a person resumes it through /turns
EscalationA Mode 1 tool that files an async ticket and lets the parent run complete. Not a gate
Evidence chainEvery audit event sharing one correlation_id, time-ordered. A logical chain, not a hash chain

Identifiers​

Who mints what, and what it is good for. Detail: identifiers.

TermDefinition
request_idOne HTTP hop. Front Door mints it or echoes X-Request-Id
session_idOne journey instance: chat-…, job-…, or sub-…. The freeze key
correlation_idOne run. Runtime alone mints it. The status-poll handle and the audit chain key
idempotency_keyCaller-supplied jobs dedup key. The same key returns the original correlation_id
decision_idAn audit join id minted at decide. Not yet carried onto the freeze event
journey_idA KPI bucket, chat.{route_id} or job.{route_id}. Not unique per request
trace_idThe W3C OpenTelemetry trace. Links spans in Tempo, unrelated to the audit store
event_idThe audit row key. Makes ingest idempotent
parent_correlation_idLinks a kind=agent child run back to its parent

Autonomy​

TermDefinition
autonomy_modeThe integer 0–3 on the route. Answers exactly one question: who picks the next step
Mode 0 — Single inferenceNobody picks. One LLM call from a prompt pack. No tools
Mode 1 — AutonomousThe LLM picks, from the hydrated manifest, bounded by max_loop_steps
Mode 2 — DeterministicThe workflow designer picks. A fixed stage list
Mode 3 — GuidedThe designer fixes the outer stages; the LLM picks tools inside a stage allowlist
llm_roleHow a stage executes: none, classify, synthesis, or query_formulation
max_loop_stepsThe Mode 1 iteration budget. Defaults to 8. Exceeding it fails the run
AllowlistThe Mode 3 per-stage list of permitted capabilities. Catalogue-only today
CALL / ASK / DONEThe Mode 1 loop verbs. The live path uses a structured AgentDecision with the same three actions

Governance and cross-cutting​

TermDefinition
Three principalsThe user who asked, the agent acting as software, and the Runtime box. Never one bearer. Detail: identities
User identityChannel caller. Stub: Bearer stub + emts. Entitles the route. Not the tool-call bearer
Agent identityRoute agent_client_id. The robot. Intended Shared Tools bearer after pin
AR workload identityThe Runtime box. Stub: X-Workload: ar. Calls Data Plane and Registry. Not a domain API principal
FR-5The rule that chat and UI responses must not leak route_id, run_id, confidence, or router internals
router_layerWhich decide layer matched: rules, retrieve, or llm. Server-side only
deterministic_prefetchThe retrieval mode where the app packs corpora before generate. The model cannot skip it
workingSession-scoped scratch, {notes, slots}, on the run pin. Honoured by Runtime
loop=checkpointA crash cursor allowing a failed run to resume from resume_index. Honoured by Runtime
conversation=sessionPolicy saying the next turn should see prior utterances. Catalogue-only — there is no transcript store
long_term=retrieve_onlyPolicy for facts recalled in a later journey. Catalogue-only — Shared Memory is not built
Business eventsAllowlisted journey breadcrumbs on the ops path. Not the audit store