{"schemaVersion":"pre.page.v1","id":"protocol","route":"/protocol","meta":{"title":"Protocol","description":"Common operations and durable contracts shared by API, CLI, DOM, GUI, human, and agent interfaces.","navLabel":"Protocol","order":35,"nav":false,"navGroup":"Explore","discoverable":true,"eyebrow":"Common operations","status":"canonical","theme":"main","visibility":"public"},"source":{"kind":"filesystem","ref":"PROTOCOL.md","digest":"ebf326d259f05c497c347ef508503aeaa3a8d8986f5235a080d029730249a936"},"navigation":{"items":[{"route":"/","label":"Main","order":0,"placement":"primary","group":""},{"route":"/context","label":"Context","order":10,"placement":"primary","group":""},{"route":"/vision","label":"Vision","order":15,"placement":"secondary","group":"Explore"},{"route":"/principles","label":"Principles","order":20,"placement":"primary","group":""},{"route":"/architecture","label":"Architecture","order":30,"placement":"primary","group":""},{"route":"/ontology","label":"Ontology","order":32,"placement":"secondary","group":"Explore"},{"route":"/protocol","label":"Protocol","order":35,"placement":"secondary","group":"Explore"},{"route":"/security","label":"Security","order":40,"placement":"secondary","group":"Explore"},{"route":"/roadmap","label":"Roadmap","order":45,"placement":"primary","group":""},{"route":"/status","label":"Status","order":50,"placement":"primary","group":""},{"route":"/projects","label":"Projects","order":60,"placement":"secondary","group":"Reference"},{"route":"/decisions","label":"Decisions","order":65,"placement":"secondary","group":"Reference"},{"route":"/learnings","label":"Learnings","order":68,"placement":"secondary","group":"Reference"},{"route":"/glossary","label":"Glossary","order":70,"placement":"secondary","group":"Reference"},{"route":"/sources","label":"Sources","order":90,"placement":"secondary","group":"Reference"}],"outline":[{"id":"core-operations","label":"Core operations","level":2},{"id":"step-1a-addresses-and-envelopes","label":"Step 1A — addresses and envelopes","level":2},{"id":"step-1b-authority-and-capabilities","label":"Step 1B — authority and capabilities","level":2},{"id":"step-1c-events-receipts-and-idempotency","label":"Step 1C — events, receipts, and idempotency","level":2},{"id":"step-1d-evidence-and-objective-outcomes","label":"Step 1D — evidence and objective outcomes","level":2},{"id":"step-1e-external-bindings-and-succession","label":"Step 1E — external bindings and succession","level":2},{"id":"step-1f-reference-protocol-loop","label":"Step 1F — reference protocol loop","level":2},{"id":"interface-collapse","label":"Interface collapse","level":2},{"id":"safety-invariants","label":"Safety invariants","level":2},{"id":"content-and-surface-projections","label":"Content and surface projections","level":2}]},"presentation":{"theme":"main","classes":{"page":"min-h-screen bg-[#f6f4ee] text-[#20251f]","header":"sticky top-0 z-20 border-b border-[#d8d6cd] bg-[#f6f4ee]/95 backdrop-blur","headerInner":"mx-auto flex w-full max-w-6xl items-center justify-between gap-6 px-5 py-4 sm:px-8 lg:px-10","brand":"flex shrink-0 items-baseline gap-2 text-sm font-semibold tracking-[-0.02em] text-[#20251f]","brandMark":"font-mono text-[0.66rem] font-medium uppercase tracking-[0.22em] text-[#737c72]","nav":"flex max-w-full gap-1 overflow-x-auto pb-1 text-sm [scrollbar-width:none] [&::-webkit-scrollbar]:hidden","navLink":"whitespace-nowrap rounded-full px-3 py-1.5 text-[#667066] transition-colors hover:bg-[#e9e7df] hover:text-[#20251f] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#556255]","navLinkActive":"bg-[#20251f] text-[#f6f4ee] hover:bg-[#20251f] hover:text-[#f6f4ee]","shell":"mx-auto w-full max-w-6xl px-5 sm:px-8 lg:px-10","main":"grid gap-10 py-12 lg:grid-cols-[minmax(0,1fr)_14rem] lg:py-16","article":"min-w-0","aside":"hidden lg:block","eyebrow":"font-mono text-xs font-medium uppercase tracking-[0.2em] text-[#768075]","title":"mt-4 max-w-4xl text-balance text-4xl font-medium leading-[1.04] tracking-[-0.045em] text-[#172018] sm:text-6xl","description":"mt-5 max-w-3xl text-pretty text-lg leading-8 text-[#586157] sm:text-xl","statusRow":"mt-7 flex flex-wrap gap-2","badge":"rounded-full border border-[#cfd2c9] bg-[#ebece6] px-3 py-1 font-mono text-[0.68rem] uppercase tracking-[0.12em] text-[#5d665c]","body":"mt-12 max-w-3xl","heading1":"mt-12 scroll-mt-28 text-3xl font-medium leading-tight tracking-[-0.035em] text-[#20251f]","heading2":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]","heading3":"mt-9 scroll-mt-28 text-xl font-semibold leading-tight tracking-[-0.015em] text-[#293229]","heading4":"mt-8 scroll-mt-28 text-lg font-semibold text-[#293229]","heading5":"mt-8 scroll-mt-28 text-base font-semibold uppercase tracking-[0.08em] text-[#4d574d]","heading6":"mt-8 scroll-mt-28 text-sm font-semibold uppercase tracking-[0.12em] text-[#5d675c]","paragraph":"mt-5 text-[1.04rem] leading-8 text-[#404940]","unorderedList":"mt-5 list-disc space-y-2 pl-6 text-[1.02rem] leading-7 text-[#404940] marker:text-[#879184]","orderedList":"mt-5 list-decimal space-y-2 pl-6 text-[1.02rem] leading-7 text-[#404940] marker:font-mono marker:text-[#737c72]","quote":"my-8 border-l-2 border-[#879184] pl-5 text-xl leading-8 text-[#2e382f]","code":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm","divider":"my-10 border-0 border-t border-[#d8d6cd]","inlineLink":"font-medium text-[#284f36] underline decoration-[#9dab9a] decoration-1 underline-offset-4 transition-colors hover:text-[#173421] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#556255]","inlineCode":"rounded bg-[#e8e7df] px-1.5 py-0.5 font-mono text-[0.88em] text-[#2d372e]","inlineStrong":"font-semibold text-[#263027]","inlineEmphasis":"italic","tocTitle":"font-mono text-[0.68rem] font-semibold uppercase tracking-[0.16em] text-[#788078]","tocList":"mt-4 space-y-2 border-l border-[#d8d6cd] pl-4","tocLink":"block text-sm leading-5 text-[#697269] transition-colors hover:text-[#20251f] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#556255]","tocSticky":"sticky top-28","tocChild":"pl-3","secondaryNav":"mt-16 grid gap-8 border-t border-[#d8d6cd] pt-7 sm:grid-cols-2","secondaryNavGroup":"min-w-0","secondaryNavTitle":"font-mono text-[0.68rem] font-semibold uppercase tracking-[0.16em] text-[#788078]","secondaryNavList":"mt-3 flex flex-wrap gap-x-4 gap-y-2","secondaryNavLink":"text-sm leading-5 text-[#697269] transition-colors hover:text-[#20251f] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#556255]","footer":"mt-10 border-t border-[#d8d6cd] pt-5 text-xs leading-5 text-[#737c72]","footerCode":"font-mono text-[0.68rem] text-[#5e675e]"}},"blocks":[{"id":"block-1","type":"heading","level":2,"anchor":"core-operations","content":[{"type":"text","value":"Core operations"}],"plainText":"Core operations","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-2","type":"paragraph","content":[{"type":"text","value":"The initial protocol vocabulary remains intentionally small:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-3","type":"code","language":"text","value":"identify   inspect    retrieve   encounter\npreserve   relate     assert     correct\nrequest    grant      revoke     act\napprove    verify     sync       succeed","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-4","type":"paragraph","content":[{"type":"text","value":"Each interface may present these differently, but the underlying operation retains participant, identity, target, context, authority, provenance, idempotency, evidence, event, receipt, and objective semantics."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-5","type":"paragraph","content":[{"type":"text","value":"The machine-readable contract registry is available at "},{"type":"link","href":"/registry/protocol.json","children":[{"type":"code","value":"registry/protocol.json"}]},{"type":"text","value":"."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-6","type":"heading","level":2,"anchor":"step-1a-addresses-and-envelopes","content":[{"type":"text","value":"Step 1A — addresses and envelopes"}],"plainText":"Step 1A — addresses and envelopes","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-7","type":"paragraph","content":[{"type":"text","value":"Pre addresses use one bounded storage-neutral grammar:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-8","type":"code","language":"text","value":"<kind>:<segment>[:<segment>...]","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-9","type":"paragraph","content":[{"type":"text","value":"Address segments provide namespacing and readability only. They do not imply ownership, hierarchy, membership, inheritance, or permission."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-10","type":"paragraph","content":[{"type":"code","value":"pre.action.v1"},{"type":"text","value":" represents a participant request. It carries a "},{"type":"code","value":"request:"},{"type":"text","value":" address, participant, acting identity, source interface, context-grant references, intended action, target, caller-supplied authority references, bounded JSON input, caller risk label, idempotency key, evidence expectations, and issue time."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-11","type":"paragraph","content":[{"type":"code","value":"pre.result.v1"},{"type":"text","value":" represents the trusted boundary's disposition. It keeps three questions separate:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-12","type":"code","language":"text","value":"admission   accepted | denied\nexecution   not-started | pending | running | succeeded | failed\nobjective   unverified | verified | not-met | not-applicable","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-13","type":"paragraph","content":[{"type":"text","value":"A successful process therefore cannot silently claim that the objective was achieved."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-14","type":"heading","level":2,"anchor":"step-1b-authority-and-capabilities","content":[{"type":"text","value":"Step 1B — authority and capabilities"}],"plainText":"Step 1B — authority and capabilities","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-15","type":"paragraph","content":[{"type":"text","value":"A trusted authority store admits immutable records:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-16","type":"code","language":"text","value":"identity binding\nmembership\ncontext grant\ncapability\nrevocation","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-17","type":"paragraph","content":[{"type":"text","value":"The resolver never treats a schema-valid record supplied by a client as admitted authority. "},{"type":"code","value":"claimedAuthority"},{"type":"text","value":" and "},{"type":"code","value":"contextGrants"},{"type":"text","value":" are explicit references and lookup hints. The trusted store resolves them."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-18","type":"paragraph","content":[{"type":"text","value":"Identity bindings establish that a participant may act through an identity for a bounded period and assurance level. Memberships are addressable relationships that may receive explicit grants; a role name grants nothing by itself."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-19","type":"paragraph","content":[{"type":"text","value":"Capabilities and context grants bind exact subjects, actions, targets, fields, risk ceilings, time windows, and delegation lineage. Each delegated child must attenuate every parent dimension."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-20","type":"paragraph","content":[{"type":"text","value":"Revocation is a separate immutable record. Revoking an ancestor invalidates the chain without rewriting historical grants."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-21","type":"paragraph","content":[{"type":"text","value":"The boundary independently classifies risk. Caller labels cannot downgrade a consequential action into a read."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-22","type":"heading","level":2,"anchor":"step-1c-events-receipts-and-idempotency","content":[{"type":"text","value":"Step 1C — events, receipts, and idempotency"}],"plainText":"Step 1C — events, receipts, and idempotency","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-23","type":"paragraph","content":[{"type":"text","value":"An accepted request first creates an immutable request claim binding participant, idempotency key, and canonical action digest."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-24","type":"paragraph","content":[{"type":"text","value":"Events are immutable and ordered within an explicit stream:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-25","type":"code","language":"text","value":"stream\nsequence\nprevious event\nrequest\nactor\nevent type\ntime\npayload","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-26","type":"paragraph","content":[{"type":"text","value":"Pre does not require one global event order. A task, request, conversation, or relation can be reconstructed from its own ordered stream."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-27","type":"paragraph","content":[{"type":"text","value":"Retry behavior is explicit:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-28","type":"list","ordered":false,"items":[[{"type":"text","value":"identical finalized retry → return the original result and receipt;"}],[{"type":"text","value":"same idempotency scope with different input → deny as conflict;"}],[{"type":"text","value":"admitted request without a final receipt → return pending/recovery state;"}],[{"type":"text","value":"never silently execute an incomplete request twice."}]],"className":"mt-5 list-disc space-y-2 pl-6 text-[1.02rem] leading-7 text-[#404940] marker:text-[#879184]"},{"id":"block-29","type":"paragraph","content":[{"type":"text","value":"A final immutable receipt binds the request and result digests to the accepted event history."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-30","type":"heading","level":2,"anchor":"step-1d-evidence-and-objective-outcomes","content":[{"type":"text","value":"Step 1D — evidence and objective outcomes"}],"plainText":"Step 1D — evidence and objective outcomes","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-31","type":"paragraph","content":[{"type":"text","value":"Evidence records describe what was observed or produced. They retain source request, kind, subject, producer, artifact reference, digest, claims, and time."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-32","type":"paragraph","content":[{"type":"text","value":"Evidence is not a verdict."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-33","type":"paragraph","content":[{"type":"text","value":"Only an explicit trusted evaluator may issue an objective verdict. Verdicts retain evaluator identity and authority, evidence references, status, rationale, issue time, and explicit supersession."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-34","type":"paragraph","content":[{"type":"text","value":"Conflicting active verdicts remain addressable and project as disagreement rather than synthetic certainty."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-35","type":"heading","level":2,"anchor":"step-1e-external-bindings-and-succession","content":[{"type":"text","value":"Step 1E — external bindings and succession"}],"plainText":"Step 1E — external bindings and succession","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-36","type":"paragraph","content":[{"type":"text","value":"An external binding maps a canonical Pre object to one provider object. It grants adapter behavior per field:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-37","type":"code","language":"text","value":"canonical field\nexternal field\ndirection\nexternal write: none | propose | apply\nconflict policy","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-38","type":"paragraph","content":[{"type":"text","value":"An adapter that may update one field does not own the object. Unlisted and canonical-only fields remain denied. External deletion marks a projection missing; canonical history survives."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-39","type":"paragraph","content":[{"type":"text","value":"A succession record connects predecessor and successor while preserving selected history, context, attribution, or obligations. It never transfers authority implicitly. Identity, membership, context, and capability require new records."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-40","type":"heading","level":2,"anchor":"step-1f-reference-protocol-loop","content":[{"type":"text","value":"Step 1F — reference protocol loop"}],"plainText":"Step 1F — reference protocol loop","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-41","type":"paragraph","content":[{"type":"text","value":"The in-memory reference kernel proves the complete storage-neutral loop:"}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-42","type":"code","language":"text","value":"validate request\n  -> claim idempotency\n  -> resolve authority\n  -> execute one bounded operation\n  -> record ordered events and evidence\n  -> optionally evaluate the objective\n  -> emit result and immutable receipt\n  -> terminate\n  -> reconstruct or replay from durable protocol state","className":"my-7 overflow-x-auto rounded-2xl border border-[#303a31] bg-[#20251f] p-5 font-mono text-sm leading-6 text-[#eef1e9] shadow-sm"},{"id":"block-43","type":"paragraph","content":[{"type":"text","value":"The bounded-read reference executor returns only fields present in resolved authority. A replacement kernel sharing the journal reconstructs or replays the same request without relying on the original executor process."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-44","type":"paragraph","content":[{"type":"text","value":"This is a conformance reference, not a production runtime or database decision."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-45","type":"heading","level":2,"anchor":"interface-collapse","content":[{"type":"text","value":"Interface collapse"}],"plainText":"Interface collapse","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-46","type":"paragraph","content":[{"type":"text","value":"API, CLI, DOM, GUI, email, Stow, agent tools, and later neural or spatial interfaces do not invent parallel action models."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-47","type":"paragraph","content":[{"type":"text","value":"Preserving a webpage as evidence, approving a task, replying to a message, or updating a field should retain the same canonical meaning regardless of which surface initiated it."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"},{"id":"block-48","type":"heading","level":2,"anchor":"safety-invariants","content":[{"type":"text","value":"Safety invariants"}],"plainText":"Safety invariants","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-49","type":"list","ordered":false,"items":[[{"type":"text","value":"Posting text cannot execute code."}],[{"type":"text","value":"Encountering content cannot grant it authority."}],[{"type":"text","value":"An address does not confer authority through syntax."}],[{"type":"text","value":"Schema validity establishes shape, not trust."}],[{"type":"text","value":"Caller claims never become resolved authority automatically."}],[{"type":"text","value":"Delegation can attenuate but cannot escalate."}],[{"type":"text","value":"Risk is classified by a trusted boundary."}],[{"type":"text","value":"Field scope is part of authority."}],[{"type":"text","value":"Duplicate requests do not duplicate effects."}],[{"type":"text","value":"Incomplete requests are recovered explicitly."}],[{"type":"text","value":"State transitions are attributable and ordered."}],[{"type":"text","value":"Evidence does not evaluate itself."}],[{"type":"text","value":"Process completion does not prove objective completion."}],[{"type":"text","value":"External projections may disappear without deleting canonical state."}],[{"type":"text","value":"Succession preserves continuity without implicit authority inheritance."}]],"className":"mt-5 list-disc space-y-2 pl-6 text-[1.02rem] leading-7 text-[#404940] marker:text-[#879184]"},{"id":"block-50","type":"heading","level":2,"anchor":"content-and-surface-projections","content":[{"type":"text","value":"Content and surface projections"}],"plainText":"Content and surface projections","className":"mt-12 scroll-mt-28 text-2xl font-medium leading-tight tracking-[-0.025em] text-[#20251f]"},{"id":"block-51","type":"paragraph","content":[{"type":"code","value":"PageDocument"},{"type":"text","value":" remains the first concrete surface projection. The same storage-neutral rule now applies to actions and durable protocol records: a database may persist them, but the database does not define their meaning."}],"className":"mt-5 text-[1.04rem] leading-8 text-[#404940]"}]}