Day 1 local preflight
Run pnpm listen-pick:preflight before deploy. It sequences config audit, Biome, locale checks, public-shell privacy contract, legal-page privacy boundary contract, contact feedback safety contract, About thesis contract, Practice Lab contract, public content contract, public footer pilot journey contract, monetization boundary contract, account boundary contract, pnpm listen-pick:settings-boundary-contract, pnpm listen-pick:curriculum-expansion-contract, pnpm listen-pick:repeat-entry-contract, pnpm listen-pick:manifest-contract, pnpm listen-pick:seo-contract for sitemap and robots coverage, start contract, pnpm listen-pick:assets-contract, asset dry run, evidence/log/invite contracts, pnpm listen-pick:live-smoke-contract, locale compile, and production build without deploying, uploading assets, opening checkout, expanding curriculum, running live smoke, or requiring accounts before practice.
Cloudflare config audit
Run pnpm cf:launch:check and clear blocking Worker, D1, R2, env, and domain findings before a pilot deploy.
Starter-pack asset dry run
Run pnpm listen-pick:assets-contract and pnpm listen-pick:assets; require no missing referenced files before any R2 upload or public pilot link is shared. Use pnpm listen-pick:assets:upload -- --confirm-token-scope only after Cloudflare token scope checks pass and an intentional R2 copy is needed.
Local production build
Run pnpm build locally so the TanStack Start Worker bundle passes before pnpm deploy is attempted.
Live workers.dev smoke pass
After deploy, open /, /play?day=1&start=1, /pilot-log, /waitlist, their /zh localized equivalents, and /api/ping on the workers.dev URL before inviting families.