Skip to content

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.

  • Cloudflare account with domain control for:
    • universalmanifest.net
    • myum.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.jsonld
    • https://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

Recommended: Cloudflare Worker + KV.

High-level steps:

  1. Create a KV namespace for UMID records.
  2. Bind it to the Worker (binding name: UMID_KV).
  3. Bind the Worker to myum.net/* (custom domain or route).
  4. Deploy.

Expected outcomes:

  • https://myum.net/health returns 200
  • https://myum.net/.well-known/myum-resolver.json returns 200
  • https://myum.net/{UMID} responses include required resolver headers:
    • X-UM-Resolver-Contract
    • Cache-Control
    • ETag (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”.