Quick Start
This is the implementer quick start for Universal Manifest v0.1.
1) Understand the contract (15 minutes)
Section titled “1) Understand the contract (15 minutes)”Read:
- Getting Started → Concepts
- Specification → v0.1
Key takeaways you need:
- A Universal Manifest is a JSON(-LD) document with a stable identifier (
@id/ UMID), a subject, and a TTL (issuedAt/expiresAt). - Consumers must ignore unknown fields safely (forward compatibility).
- The manifest is an envelope: it can contain embedded shards and/or pointers to canonical data elsewhere.
2) Implement the minimum viable consumer (v0.1)
Section titled “2) Implement the minimum viable consumer (v0.1)”Your consumer should:
- Require core fields:
@context,@id,@type,manifestVersion,subject,issuedAt,expiresAt - Enforce TTL (“freshness for use”):
- reject for use if
now > expiresAt - (recommended) reject if
issuedAt > expiresAt
- reject for use if
- Treat unknown fields as ignorable
- Read only the parts you understand:
shards(composable fragments)pointers(links to canonical sources)claims,consents,devices(optional sections)
3) Validate against artifacts and fixtures
Section titled “3) Validate against artifacts and fixtures”Normative artifacts (published)
Section titled “Normative artifacts (published)”- JSON-LD context:
/ns/universal-manifest/v0.1/schema.jsonld - Structural schema:
/ns/universal-manifest/v0.1/schema.json - Discovery (non-normative):
/.well-known/universal-manifest.json
Fixtures (examples)
Section titled “Fixtures (examples)”Start with:
- Getting Started → Stub Manifests (near-real examples)
- Conformance → v0.1 (what a consumer MUST do to claim support)
Visual sanity check (optional)
Section titled “Visual sanity check (optional)”Open the harness:
/harness/
If you are testing a resolver implementation too, read:
- Conformance → Resolver (myum.net)