Skip to main content
Track (apps/track) runs as a native TanStack Start app on Vite+ and Void through @tuturuuu/start-bridge. The App Router source is rendered unchanged by the generic RSC adapter; cloudflare/worker.ts is the Worker entry. next build (package build) remains the Vercel path. Production publication stays held in tuturuuu.ci.ts until a cutover PR admits the app.

Cutover packet

Rollback

Remove only the new track.tuturuuu.com/* Worker route (or restore the captured DNS record) so the hostname resolves to the captured immutable Vercel deployment. Never rebuild on the rollback path and never promote the Vercel project as a whole. Keep the Vercel project and domain until the new Worker has been stable. Track keeps no state in the Worker, so rollback touches no data.

Smoke

Anonymous probes after the route is attached:
Check that every response carries X-Robots-Tag: noindex, nofollow, nosnippet, X-Frame-Options: DENY and Cache-Control: private, no-store, max-age=0 (except hashed assets and public files). The rollback smoke is the same command with --expect legacy.

Qualification

track-cloudflare.yaml builds the native output, rejects route-tree drift, type-checks (type-check:cloudflare), seals the emitted Worker with scripts/ci/track-native-artifact.py and runs the emitted-Worker suite in workerd (bun run --cwd apps/track test:runtime), with all egress denied. Heavy builds run on a remote host, not the local hub.