Deploy Checklist
This is the first-time deployment checklist for the Universal Manifest public surfaces:
- universalmanifest.net (standards/spec/docs site; static)
- myum.net resolver (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.
For staging-to-production promotion guidance used by maintainers, see:
docs/site/STAGING-PROMOTION-RUNBOOK.md(repository runbook)
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:
- Universal Manifest home loads
- Spec artifacts resolve:
- Harness is available:
- Well-known descriptor is available:
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:
- Resolver health endpoint returns 200
- Resolver well-known descriptor returns 200
- Resolver UMID route 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”.