apps/colab) is already a Cloudflare Worker with a Vite single-page
frontend. It has no Vercel deployment, so it does not take part in the
Vercel-exit cutovers. Its Worker entry is src/server/worker.ts; the frontend is
served from dist through the ASSETS binding.
Identity that must not change
Renaming the class, changing the binding or rewriting the migration tag would
detach existing room state. Any change to the entry bundle needs the room,
WebSocket and expiry runtime checks in
apps/colab/scripts to pass first.
Deploy
colab-cloudflare.yaml validates on pull requests and main. Its deploy job
runs only for the production branch in the colab-production environment: it
runs wrangler deploy with the token secret COLAB_CLOUDFLARE_API_TOKEN, then
scripts/verify-deployment.mjs compares the live entry shell, /api/health and
every built asset hash against the local build.
Rollback
Roll back to the previous Worker version in Cloudflare, or redeploy the previous production commit. Durable Object storage is not affected by a version rollback.Smoke checks
GET https://colab.tuturuuu.com/api/healthanswers200withapp: "colab"andstatus: "ok"GET /and/guideanswer200- after a deploy,
node apps/colab/scripts/verify-deployment.mjsfrom a built checkout reports the asset hashes verified