Conformance v0.1
This page defines what it means to claim Universal Manifest v0.1 conformance.
If you are validating an external implementation, start with the language-neutral Standalone Conformance Suite workflow.
v0.1 goals:
- easy to adopt (even without JSON-LD tooling)
- safe in local-first environments (TTL + bounded caching)
- forward compatible (unknown fields MUST be ignored)
Conformance targets
Section titled “Conformance targets”Consumer
Section titled “Consumer”A consumer receives a manifest and uses it to drive a surface (display, admin, web profile, etc.).
Consumer MUST:
- Treat a value as a v0.1 Universal Manifest when it has the required fields and
@typeincludesum:Manifest. - Ignore unknown fields safely (top-level, shard/entity shapes, and section item shapes).
- Enforce TTL for use: MUST NOT use if
now > expiresAt. - Sanity-check
issuedAt/expiresAtformats and ordering (issuedAt <= expiresAt).
Issuer
Section titled “Issuer”An issuer produces a manifest for a subject and delivers it to consumers (directly or via an intermediary).
Issuer MUST / SHOULD:
- Set
@idto a globally unique URI (recommended:urn:uuid:<uuidv4>). - Set
subjectto a stable identifier URI. - Use short TTLs appropriate to the surface.
Fixtures (conformance tests)
Section titled “Fixtures (conformance tests)”To claim v0.1 conformance, an implementation MUST:
- Accept all valid fixtures
- Reject all invalid fixtures
Valid fixtures (v0.1)
Section titled “Valid fixtures (v0.1)”- Minimal manifest fixture
- Type-array manifest fixture
- Unknown-fields fixture
- Manifest-with-shards fixture
- Venue edge stub fixture
- Display device stub fixture
- Creator public capsule stub fixture
- Social profile stub fixture
- Display envelope stub fixture
Invalid fixtures (v0.1)
Section titled “Invalid fixtures (v0.1)”- Invalid: missing context
- Invalid: missing ID
- Invalid: empty ID
- Invalid: wrong type
- Invalid: missing subject
- Invalid: issued-after-expires
- Invalid: issuedAt format
- Invalid: expiresAt format
- Invalid: expired-for-use
- Invalid: shards-not-array
- Invalid: shard-wrong-type
Quick visual check
Section titled “Quick visual check”Use the harness to load these fixtures and inspect shape quickly:
- Run the implementation-neutral suite flow: Standalone Conformance Suite
- Read the v0.1 contract: Specification v0.1
- If you need signing/verification: Conformance v0.2
- For a language-neutral implementation checklist: Build Your Own Implementation