> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nova on Start + Void

> Nova Worker configuration, smoke probes and rollback instructions for a future route cutover.

Nova (`apps/nova`) has native TanStack Start + Vite+ + Void source using
`@tuturuuu/start-bridge`. The native source is present, but this packet does not
cut over traffic. Rex owns route changes and must capture the immutable Vercel
deployment ID before any cutover.

## Worker configuration

* Staging Worker: the staging Worker name (`VITE_NOVA_NATIVE_PROFILE=staging`).
* Production Worker: `tuturuuu-nova` (`VITE_NOVA_NATIVE_PROFILE=production`).
* Hosts: `nova.tuturuuu.com`, `nova.ai.vn`, and `nova.tutur3u.com`.
* The Worker config declares the `ASSETS` static asset binding. Runtime
  Runtime names include `TUTURUUU_APP_COORDINATION_SECRET`,
  `SUPABASE_SECRET_KEY`, `NEXT_PUBLIC_SUPABASE_URL`, and
  `NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY`. Abuse guard uses service binding
  `ABUSE_GUARD` (`tuturuuu-abuse-guard`), secret `ABUSE_GUARD_KEY_PEPPER`,
  `ABUSE_GUARD_FAMILIES=proxy`, and optional `ABUSE_GUARD_TIMEOUT_MS`.
  Upstash credentials are no longer required. This packet records names only.
* `TUTURUUU_NOINDEX` is `1` in staging and `0` in production.
* Build from the app directory with `bun run build:cloudflare`. If workspace
  outputs are missing, run `bun turbo:local run build --filter='@tuturuuu/nova^...' --concurrency=2` first.

## Smoke probes

After Rex enables a candidate route, check each host and the public build identity:

```bash theme={null}
for host in nova.tuturuuu.com nova.ai.vn nova.tutur3u.com; do
  curl -sSI "https://$host/"
  curl -sS "https://$host/api/build-info"
done
curl -sSI https://tuturuuu.com/nova/
curl -sS https://tuturuuu.com/api/build-info
```

Confirm the root hosts serve Nova, `/nova` works on `tuturuuu.com`, build-info
reports the expected commit, and responses carry the intended cache and
indexing policy. Probe only after the route owner provides the candidate URL or
has authorized the host route.

## Rollback

Rex must capture the prior Vercel deployment ID and URL before cutover. Rollback
is to remove the Nova Worker route so the existing Vercel route serves traffic
again. Do not rebuild or change application data during rollback. Keep the
captured deployment available until the rollback window closes.

## Local verification

Run `bun run build:cloudflare` from `apps/nova`. Runtime qualification is
`CI=true CI_SOURCE_SHA=$(git rev-parse HEAD) bun run test:runtime`. The local
runtime command currently fails under Node 22 because its `.mjs` suites import
TypeScript config modules directly (`ERR_UNKNOWN_FILE_EXTENSION`); preserve the
failure in the cutover evidence and require the CI runtime result before any
route change.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.