Deploy Checklist
This is the first-time deployment checklist for the Universal Manifest public surfaces:
universalmanifest.net(standards/spec/docs site; static)myum.net/{UMID}(resolver contract; Worker + KV)
Cloudflare Pages and Cloudflare Workers are the reference implementation path in this repository. Equivalent hosting platforms are acceptable if they preserve the same URL, header, and cache semantics.
0) Prereqs
Section titled “0) Prereqs”- Cloudflare account with domain control for:
universalmanifest.netmyum.net
1) Deploy the standards site (universalmanifest.net)
Section titled “1) Deploy the standards site (universalmanifest.net)”Recommended: Cloudflare Pages (static).
Pages project settings (recommended):
- Framework preset:
None - Build command:
cd site && npm ci && npm run build && node ../deploy/universalmanifest.net/build.mjs
- Build output directory:
deploy/universalmanifest.net/dist
Domain:
- attach custom domain
universalmanifest.net
Expected outcomes:
https://universalmanifest.net/loads- Spec artifacts resolve:
https://universalmanifest.net/ns/universal-manifest/v0.1/schema.jsonldhttps://universalmanifest.net/ns/universal-manifest/v0.1/schema.json
- Harness is available (non-normative):
https://universalmanifest.net/harness/
- Well-known descriptor is available (non-normative):
https://universalmanifest.net/.well-known/universal-manifest.json
2) Deploy the resolver (myum.net)
Section titled “2) Deploy the resolver (myum.net)”Recommended: Cloudflare Worker + KV.
High-level steps:
- Create a KV namespace for UMID records.
- Bind it to the Worker (binding name:
UMID_KV). - Bind the Worker to
myum.net/*(custom domain or route). - Deploy.
Expected outcomes:
https://myum.net/healthreturns 200https://myum.net/.well-known/myum-resolver.jsonreturns 200https://myum.net/{UMID}responses include required resolver headers:X-UM-Resolver-ContractCache-ControlETag(for payload responses)
3) Run the combined production smoke (required)
Section titled “3) Run the combined production smoke (required)”Command:
cd packages/universal-manifest && npm run smoke:endpoints:prod
If this fails, do not claim “published”.