A primitive is one registered unit of agent behavior: list files, classify a failure, apply a patch, run the target tests, decide whether to finish. Every graph node runs exactly one primitive, referenced by ID.
Architecture contract
The registry
Kernel ABI 1.0.0 freezes 191 primitive IDs. Each has a dotted ID (obs.list_files), an upper-snake alias (LIST_FILES), a family and a class. Families cover the Agent ISA groups (observation, decision, mutation, execution, version control, verification, control), the decision families, and leaf primitives for task intake, environment and repository, localization and context, planning, tool calls, mutation synthesis, verification and recovery, completion and durable state, and routing and residency.
The primitive contract
Each primitive declares:- inputs and outputs, as schemas
- its class: deterministic, S1 decision, generation, verification, policy, mutation or retrieval
- its authority: propose, decide, verify or authorize. Only policy primitives may authorize.
- the evidence it must produce, its failure modes, its fallback and how it is evaluated
primitive_id never contains a vendor or model name.