← Start Here · This is Step 6a: The Specification

Experience Protocol v0.1

A frozen, language-independent, runtime-independent specification for Experience objects. The rules that all Experience must conform to.

FROZEN · Version 0.1.0-draft · 2026-09-09

What the Protocol defines

The Protocol is the specification — the rules that all Experience must conform to. It does not store Experience. It does not serve Experience. It defines what Experience is.

Experience Object schema

5 required fields: id, content, fingerprint, source, outcome. Plus 2 state fields (lifecycle, authorization), 7 optional fields, and 3 embedded objects.

Provenance & Lineage

Provenance answers: where did this Experience come from? Lineage answers: what did this evolve from? Both are embedded in every Experience object.

Verification model

VerificationAttestation records: who verified, by what method, what result, with what evidence. Append-only. Empty or absent = unverified.

Important: SHA-256 fingerprint detects integrity changes. It does NOT prove the event or outcome was valid.

Authorization model

Three states: private, shared (with allowed consumers), public. Authorization controls who can retrieve, not who owns.

Four concepts the Protocol keeps strictly separate

Provenance

"Where did this Experience come from?"

Records the origin: producer, process, time, place. Embedded in every Experience.

Verification

"Was the event/outcome sufficiently validated?"

Attestation records with verifier, method, result, evidence. A separate layer from provenance.

Fingerprint

"Can we detect integrity changes?"

LAO-FP-v1: NFC normalize → trim → UTF-8 → SHA-256. Content-only hashing. Does NOT prove validity.

Ownership / Rights

"Who has claims on this data?"

Not handled in the Protocol. Ownership and rights belong to the downstream behavioral asset chain.

Five normative artifacts

The Protocol is not a single document. It is five interdependent artifacts. The Frozen Specification is the sole normative source of truth.

① Frozen Specification

experience-protocol-v0.1.md — 1,249 lines. 17 normative sections. The ultimate authority.

TODAY — frozen

② JSON Schema

experience.schema.json — 229 lines. Machine-readable validation for all fields, enums, formats.

TODAY — frozen

③ Python Reference Implementation

Independent provider/consumer library. Depends only on the Frozen Protocol and Schema.

TODAY — verified

④ TypeScript Reference Implementation

Independent provider/consumer library. Same constraints as Python.

TODAY — verified

⑤ Interoperability Test Suite

29 tests: cross-language fingerprint consistency, bidirectional registration/retrieval, cross-language attestation, unified error contract.

TODAY — 29/29 passed

Protocol vs Runtime: current integration status

The Protocol is a complete specification. The Runtime integration is not yet built. This is an honest status report.

CapabilityProtocolRuntimeBridge
Experience generationSchema definedPipeline B active (produces Anchors)PARTIAL — constraint injection proven (16/16); full Anchor→Experience adapter is NEXT
Experience registrationProvider Contract definedN/ANEXT — Catalog HTTP client defined, Runtime integration pending
Experience retrievalConsumer Contract definedN/ANEXT — Catalog HTTP client defined, Runtime integration pending
Experience reuseOut of scopeAnchor-based reuse worksNEXT — anchor reuse works; Protocol-compatible reuse pending
FingerprintLAO-FP-v1 defined4 different algorithmsNEXT — none is LAO-FP-v1 yet
Cross-language interop29/29 tests passedPython onlyNEXT — Runtime not integrated

The Protocol is ready. The constraint injection path is proven (16/16 tests). The full Anchor→Experience adapter is the next engineering task.

See how the Catalog instantiates these rules →

Claim-level status

ClaimStatus
Protocol v0.1 Frozen Specification existsTODAY
JSON Schema defined and frozenTODAY
Python + TypeScript reference implementations existTODAY
Cross-language interoperability verified (29/29)TODAY
Runtime produces Protocol-conformant ExperienceNEXT — constraint injection proven 16/16; full adapter pending
Runtime registers/retrieves from CatalogNEXT — constraint injection proven 16/16; full adapter pending

Why the Protocol matters for Agent reliability

Without a shared specification, every Agent defines "Experience" differently. Experience that one Agent produces cannot be understood by another. The Protocol makes Experience interoperable — across Agents, across languages, across organizations.

Protocol defines the rules → Catalog enforces the rules → Agents benefit from the rules

This is the technical specification. Want to see what it enables for Agent behavior?

Next: Reliable Agent — how Experience creates reliability →

Protocol (you are here) · Catalog → · Evidence →