Skip to content

Architecture Decision Records

Each major design decision in the Agent Manifest Specification is recorded here with its rationale, alternatives considered, and consequences. ADRs are immutable once accepted - superseded decisions get a new ADR that references the old one.

ADR Title Status
0001 RFC 8785 (JCS) for canonical serialization Accepted
0002 Ed25519 as the standard cryptographic profile Accepted
0003 RFC 9162 Merkle tree with domain separation Accepted
0004 Pydantic v2 for schema modeling in the Python SDK Accepted
0005 ML-DSA-65 and hybrid Ed25519+ML-DSA-65 signature support Accepted
0006 Human-in-the-Loop (HITL) embedded approval record design Accepted
0007 JSON-Lines append-only CRL as the SDK revocation format Accepted
0008 Four conformance levels (0–3) rather than binary conformant/non-conformant Accepted
0009 SPIFFE URIs as the canonical identity format for agent_id and issuer Accepted

To propose a new ADR, open a GitHub issue using the spec change template and follow the ADR template.


For practical implementation guidance that corresponds to these decisions, see the tutorials: HITL approval workflows (ADR-0006), revocation and key rotation (ADR-0007), hardware attestation (ADR-0008), and server-side verification.