Deployment Checklist
March 22, 2026 ยท View on GitHub
This is the operational checklist for shipping the hosted qntm stack without drifting the browser UI, published clients, relay worker, and gateway worker out of sync.
What Deploys What
- Push to
main:Deploy Dropbox Relay WorkerDeploy Gateway Worker
- Push tag
v*:Deploy AIM UIPublish npmRelease(PyPI + GitHub release)Update Site Version
Important:
- A tag push does not deploy the relay worker.
- A tag push does not deploy the gateway worker.
- A push to
maindoes not deploy the AIM UI or publish the client libraries.
Required Secrets
GitHub repository secrets:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDQNTM_GATE_VAULT_KEYSITE_DEPLOY_TOKENfor the site version update job
Cloudflare token UI permissions for the hosted deploy token:
Account->Account Settings->ReadAccount->Workers Scripts->EditAccount->Workers KV Storage->EditZone->Workers Routes->EditUser->User Details->ReadUser->Memberships->Read
Optional:
Account->Workers Tail->Read
Preflight
Run these from a clean checkout of the release candidate commit:
cd client && npm ci && npm test && npm run build && npm pack --dry-run
cd ../worker && npm ci && npx tsc --noEmit
cd ../gateway-worker && npm ci && npm test && npm run typecheck
cd ../ui/aim-chat && npm install && npm test && npm run build
cd ../python-dist && uv run python -m pytest && uv build
cd ../ui/tui && npm install && npm run build
If you are not shipping a component, note that explicitly in the release notes instead of silently skipping it.
Release Sequence
-
Land the code on
main. -
Watch the worker deploys from that exact
maincommit:
gh run list --workflow "Deploy Dropbox Relay Worker" --limit 1
gh run list --workflow "Deploy Gateway Worker" --limit 1
- Verify the hosted worker endpoints:
curl https://inbox.qntm.corpo.llc/healthz
curl https://gateway.corpo.llc/health
- Create and push the release tag from the same
maincommit:
git tag vX.Y.Z
git push origin vX.Y.Z
- Watch the tag-driven release jobs:
gh run list --workflow "Deploy AIM UI" --limit 1
gh run list --workflow "Publish npm" --limit 1
gh run list --workflow "Release" --limit 1
gh run list --workflow "Update Site Version" --limit 1
- Smoke test the live surfaces:
https://chat.corpo.llchttps://inbox.qntm.corpo.llc/healthzhttps://gateway.corpo.llc/health- latest npm package metadata
- latest PyPI package metadata
High-Risk Failure Modes
- Tagging before
mainis deployed leaves the UI and published clients ahead of the hosted workers. - Pushing
mainwithout tagging leaves the hosted workers ahead of the AIM UI and package releases. - Rotating
QNTM_GATE_VAULT_KEYwithout a migration strands existing gateway secrets. - Changing relay storage behavior should include a quota review for KV and Durable Objects before release.
Polling Shutdown Notes
For changes that remove or deprecate protocol paths, verify all of these together:
- relay endpoint behavior
- gateway background behavior
- browser UI bundle behavior
- TypeScript client behavior
- Python CLI behavior
- release notes calling out the incompatibility