Current section
Files
Jump to
Current section
Files
documentation/examples.md
# The examples gallery
Complete, corpus-verified artifact pairs under `examples/` — every
example is a byte-exact conformance corpus case (the gallery gate
proves it against the corpus on every build; a drifted example reds).
## echo (blueprint + deployment)
The minimal valid pair: `echo-blueprint.json` + `echo-deployment.json`.
### The blueprint, member by member
- `blueprint_id` (`example.demo/echo`) — the producer-qualified
identity: producer `example.demo`, capability `echo`.
- `capability_requirements` — one requirement: operation family
`example.demo.read_shape`, kind `read`, impact `ordinary`,
classification ceiling `internal`, authority and approval traits
`none`, with argument and result schemas.
- `ceilings` — all eight operational bounds present, none absent
(absent is an error, never infinity).
- `input_ports` / `output_ports` / `output_contract` — the typed
surface: a `request` port in, a `result` port out, ceiling `internal`.
- `classification_ceiling` (`internal`) — the artifact-wide
disclosure ceiling.
- `effect_intents` — one declared effect: `record_summary`, kind
`mutation`, impact `ordinary`. This is the effect the deployment's
`effect_owner` binding exists to own.
- `evaluation_assertions` — an output-schema assertion on the `result`
port.
- `triggers` (`["manual"]`) — how execution starts.
- `producer` — identity, Z-form timestamp, toolchain.
- `protocol_revision` (1), `release_number` (1) — the revision line.
- `extensions` (`{"critical":{},"optional":{}}`) — the empty envelope.
- `required_core_fields` (`[]`) — no extra requirements declared.
- `content_digest` — the release identity over the digest-covered
members.
### The deployment, member by member
- `protocol_revision` (1) — the revision line, digest-covered.
- `blueprint_release` — the exact binding: the echo blueprint's id,
release, and content digest. Digest equality only.
- `scope_projection` — the adapter the deployment projects onto.
- `tool_bindings` — the read_shape operation bound to an adapter with
descriptor and schema digests (rug-pull guards).
- `data_bindings` — the `shape_orders` dataset, classification
`internal`, freshness `required` within 24h.
- `authority_requirement` / `effect_owner` — the authority profile and
the effect-owning adapter with host-derived idempotency and
authoritative recovery.
- `signer_custody` (`host_managed`), `eligibility` (predicate
expressions), `model_policy`, `host_bounds`, `lifecycle`
(`active`), `build_identities` (exact version + digest per input),
`evaluation_binding` (the evaluation corpus by digest),
`extensions`, `required_core_fields`, `deployment_digest`.
## signed (producer-signed blueprint)
`signed-blueprint.json` — the echo blueprint carrying its `signatures`
member: a detached-JWS Ed25519 envelope (RFC 7797 unencoded payload,
`kid` bound to the signed `key_id`, `purpose` "blueprint") over the
SAME `content_digest` as the unsigned golden — evidence members are
digest-excluded, so signing never changes the digest it covers.
Decode admits the member through the closed world; cryptographic
verification is the signature surface and reconcile's signature stage
(see the [producer signing recipe](producer.md) — it mirror-verifies
an envelope of exactly this shape).
```elixir
{:ok, blueprint} = AgentBlueprintProtocol.decode_blueprint(File.read!("examples/signed-blueprint.json"))
{:ok, same} = AgentBlueprintProtocol.canonical_bytes(blueprint)
same == File.read!("examples/signed-blueprint.json") # => true
```
## extension (registered optional namespace)
`extension-blueprint.json` — the echo blueprint carrying one
REGISTERED optional extension,
`com.example.commerce/classification-labels`, with a plain labeled
body. No pinned schema applies (the registry entry carries none), so
the body passes the generic value-shape heuristics; a supporting host
RETAINS the namespace at negotiation, and a host without it
quarantines the body byte-exactly without executing it — the
extension state machine in practice.
```elixir
{:ok, blueprint} = AgentBlueprintProtocol.decode_blueprint(File.read!("examples/extension-blueprint.json"))
{:ok, same} = AgentBlueprintProtocol.canonical_bytes(blueprint)
same == File.read!("examples/extension-blueprint.json") # => true
```
## federation (task envelope)
`federation-envelope.json` — the 23-member federation TaskEnvelope, the
cross-transport task artifact that rides A2A task metadata and MCP
`_meta` as the registered `com.example/federation` critical extension
(the field-by-field A2A/MCP mapping lives in the federation-mapping
document). Like the echo pair, it is a byte-exact corpus case: what you
read is what the corpus executes. Verify it the same way:
```elixir
bytes = File.read!("examples/federation-envelope.json")
{:ok, envelope} = AgentBlueprintProtocol.decode_federation_envelope(bytes)
{:ok, same} = AgentBlueprintProtocol.canonical_bytes(envelope)
same == bytes # => true
```
## Verify the pair
The examples ARE corpus cases — digests and all — which is what makes
them honest: what you read is what the corpus executes. The corpus
(including these bytes) verifies on every package build; the
standalone kit attached to each git release tag re-runs it against the
shipped archive.