Skip to main content
Version: v0.10.13

Conformance Levels

PEAC Protocol provides over 200 conformance test vectors for validating implementations. Vectors are organized into three levels -- each level builds on the one below it. Pass all vectors at a level to claim conformance.

Levels

Level 1: Core

Minimum viable implementation. Any system that issues or verifies PEAC receipts must pass all Level 1 vectors.

  • Signature creation and verification (Ed25519, RFC 8032)
  • Required JWT claims validation (iss, sub, iat, jti)
  • Wire format header validation (alg, typ, kid)
  • PEAC object validation (type, attestation_type, status)
  • Error code correctness for malformed inputs

Level 2: Extended

Full protocol support, including extensions, policy, and evidence bundles.

  • Extension schema validation (org.peacprotocol/interaction@0.1, etc.)
  • Attestation type validation against the registry
  • Policy parsing and purpose-based evaluation
  • Evidence bundle creation and verification (.peac.tar.gz)
  • Workflow context and DAG validation
  • Attribution and dispute attestations

Level 3: Profiles

Profile-specific conformance for specialized deployment scenarios.

  • HTTP 402 profile vectors (x402 payment flow)
  • RFC 9421 proof capture vectors (HTTP message signatures)
  • Transport profile vectors (HTTP header delivery)
  • Agent identity attestation vectors

Running vectors

Run all vectors at a level

Terminal
pnpm exec peac conformance --level 1

Run a specific category

Terminal
pnpm exec peac conformance --category crypto

Run against a custom endpoint

Terminal
pnpm exec peac conformance --level 1 --endpoint http://localhost:3000

Vector file structure

Vectors are JSON files organized by category in specs/conformance/:

specs/conformance/
specs/conformance/
fixtures/
agent-identity/ # Agent identity attestation vectors
attribution/ # Attribution evidence vectors
bundle/ # Evidence bundle vectors
crypto/ # Signature and key vectors
discovery/ # Issuer discovery vectors
dispute/ # Dispute evidence vectors
edge/ # Edge case vectors
interaction/ # Interaction evidence vectors
invalid/ # Known-invalid receipt vectors
issue/ # Receipt issuance vectors
obligations/ # Obligation tracking vectors
parse/ # Receipt parsing vectors
policy/ # Policy evaluation vectors
purpose/ # Purpose-based access vectors
stripe-crypto/ # Stripe crypto payment vectors
valid/ # Known-valid receipt vectors
verifier/ # Verifier behavior vectors
workflow/ # Workflow DAG vectors
x402/ # x402 payment vectors
manifest.json # Vector manifest with metadata
samples/
bundles/ # Sample evidence bundles
valid/ # Sample valid receipts
invalid/ # Sample invalid receipts

Vector format

Each vector file contains one or more test cases with explicit inputs and expected outputs:

Vector Format
{
"name": "signature-valid-001",
"description": "Valid Ed25519 signature over standard receipt",
"level": 1,
"category": "crypto",
"input": {
"receipt": "eyJhbGciOiJFZERTQSIs...",
"jwks": {
"keys": [{ "kty": "OKP", "crv": "Ed25519", "x": "..." }]
}
},
"expected": {
"verified": true,
"checks": [
{ "id": 1, "name": "signature", "passed": true },
{ "id": 2, "name": "typ_header", "passed": true }
]
}
}
FieldDescription
nameUnique vector identifier
descriptionHuman-readable description of what the vector tests
levelConformance level (1, 2, or 3)
categoryVector category (crypto, claims, policy, etc.)
inputTest inputs -- receipts, keys, options
expectedExpected outputs -- verification result, error codes, check results

Claiming conformance

Implementations that pass all vectors at a given level can claim conformance. Include the level and vector version in your documentation:

Conformance Statement
PEAC Conformance: Level 1 (Core)
Tested against: peac-conformance-vectors v0.10.13
tip

Run conformance vectors as part of your CI pipeline to catch regressions early. The vectors are stable across patch releases -- new vectors are only added in minor releases.