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.
- 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.
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
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 buildIf you are not shipping a component, note that explicitly in the release notes instead of silently skipping it.
-
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
- 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.
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