For agents
This page is the reading contract for code assistants and automated integrators. The rest of the site is written for human integrators; the facts here tell an agent where to read, which source wins, and which mistakes generated code usually makes.
Ground truth
When sources disagree, use this order:
| Rank | Source | Why |
|---|---|---|
| 1 | schemas/ | Hand-authored JSON Schema. Field names, required sets, patterns and closed objects are defined here |
| 2 | .agents/specs/ | Normative protocol prose: layers, data model, ops, memory, connect, bindings |
| 3 | /reference/* | Field tables and envelopes derived from the schemas |
| 4 | /how-to/*, /tutorials/* | Procedures and code samples; they assume the reference facts |
| 5 | /explanation/* | Concepts and boundaries |
| 6 | README.md | Human entry point; not normative |
A docs page that contradicts schemas/ is a docs bug. Do not generate code from the contradiction.
Read order
/reference/protocol— schema inventory, capability flags,extensionsandmodulescontract./reference/data-model— object fields. Read the object before writing a literal./reference/ops— request and response envelopes,Scope,ErrorEnvelope.- The capability reference you need:
/reference/memory,/reference/mind-state,/reference/connect. /how-to/implement-adapterand/how-to/orchestrate-ops— ports andorchestrate*sequences./explanation/concepts— layers and dual-concern pairs, when a name looks ambiguous.
Task routing
| Task | Read first | Then |
|---|---|---|
| Persist KnowledgeEntry data | /reference/data-model | /how-to/implement-adapter |
| Call an op | /reference/ops | /how-to/orchestrate-ops |
| Add a capability flag | /reference/protocol | /explanation/concepts |
| Serve memory | /reference/memory | /how-to/implement-adapter |
| Open a cross-process session | /reference/connect | /how-to/connect-ts-client |
| Proxy adapter ports over a transport | /how-to/connect-remote-adapter | /reference/connect |
| Call or expose a remote tool | /reference/connect | /how-to/connect-remote-tools |
| Bind from another language | /how-to/connect-native-bindings | /how-to/remote-adapter-native-binding |
| Pin versions | /packages/quick-start | /release/versioning |
Capability flags
spoke-baseline is the only baseline claim. Every other flag is additive and declared explicitly.
| Flag | Adds |
|---|---|
l2-computable | body.state / body.computable, TimelineEvent.computable_logs, project and compute |
l5-fork | fork_id / parent_fork_id on TimelineEvent, Scope.fork_id |
spoke-cognition | modules.cognition, Scope.cognition, modules.observation, derivative MindState |
narrative-modules | the modules bag on KnowledgeEntry, AssemblePacket and TimelineEvent |
ke-extraction | the extract op family and ExtractionPort |
ke-ownership | KnowledgeEntry.owner / disclosure, Scope.viewpoint |
spoke-connect | the six connect envelopes |
spoke-memory | 13 memory models and 33 memory.* ops; spoke-memory-reflection and spoke-memory-transfer are sub-flags |
Common traps
Ruleis checker input;Findingis checker output.entry_type: "rule"is an ontology label, not the L6 object.TimelineEventis the L5 when-axis object.entry_type: "event"is an ontology label; one concept may map to both.MindStateis derivative. The authority stays on the holder KnowledgeEntrymodules.cognitionandmodules.mental.- Connect envelopes carry
signaturein the committed schema, which encodes the protocol_version 2 wire shape. - Sequences are per direction and start at 0. A response echoes
session_id,sequenceandrequest_id. - Ops results are
SpokeResult. Branch onokandSpokeRejectCode, never on thrown exception types. - Adapter writes are optimistic-concurrency controlled:
expectedBaseRevision: nullmeans create; a number must equal the stored revision. - Op dispatch rejects before any handler runs. Unknown or unnegotiated tools, static
port.*families,extract, and a viewpoint-bearing Scope withoutke-ownershipanswerop_unsupported.capability_missinganswers a knownmemory.*op whose family is not negotiated, and a cognition-bearing request (Scope.cognitionorcognition_filter) withoutspoke-cognition. Do not emulate a family you did not declare.
Machine-readable bundle
/llms.txt— index with one line per page./llms-full.txt— every English page concatenated in reading order, generated from the page sources bytooling/docs/build-llms.mjs.