What a blueprint is

Copy Markdown View Source

A Blueprint is the portable description of an agent capability: stable identity, typed ports, logical capability requirements, bounds, evidence commitments, and registered extensions — bound to one exact release by a content digest.

The 18-member closed world

Sixteen required members and two optional evidence envelopes. The member grammar in the specification lists every one with its type, cardinality, and constraints; the CDDL grammar under spec/grammar/ is the machine-readable form. Highlights:

  • blueprint_id — a producer-qualified identity (example.demo/echo).
  • capability_requirements — what the agent may do: operation family and kind, impact class, classification ceiling, authority and approval traits, argument/result schemas.
  • ceilings — eight operational bounds (attempts, concurrency, cost, depth, descendants, elapsed time, fan-out, tokens); absent is an error, never infinity.
  • classification_ceiling — the ordinal disclosure ceiling.
  • content_digest — the release identity: the domain-separated digest over the digest-covered members.

Identity is the digest

Two blueprints with identical digest-covered members and identical canonical bytes are the same blueprint. decode_blueprint/2 verifies canonicality first (non-canonical bytes deny before any semantic read), then structure, then the declared digest.

Optional members

signatures (detached, verify-only JWS envelopes) and attestations — both excluded from the digest input; both evidence, never authority.