The examples gallery

Copy Markdown View Source

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 — it mirror-verifies an envelope of exactly this shape).

{: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.

{: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:

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.