These docs cover 0.2.0-beta.26. Each guide distinguishes supported beta behavior, explicit deployment boundaries, and retained 0.1 compatibility material.

Browse documentationAll guides

Ship · provider boundaries

Deployment

Presolve deploys a compiler-issued publication, not a directory of unrelated files. Provider adapters consume immutable route, artifact, and capability inventories and may not rediscover application meaning.

Choose a target

Release workflow

  1. Validate sourceRun the project-local pnpm check and resolve the first compiler diagnostic.
  2. Publish onceRun pnpm build; do not mix files from separate builds.
  3. Inspect the auditConfirm production-audit.json reports schema 1 and passed.
  4. Prepare the adapterGenerate the provider-specific projection without upload and inspect its exact route classifications.
  5. Deploy the inventoryUpload the complete validated projection, then smoke-test the public origin.

Static eligibility

A route is static only when its exact compiler-issued route loader plan and server action plan both contain zero entries for that route. An adapter cannot decide this from a filename, source import, or generated HTML.

ClassificationMeaning
staticThe route can be served entirely from the matching published files.
nodeThe compiler recorded a canonical loader or server action; the schema-v3 Node host executes its exact plan.

Production smoke test

Canonical URLs / stays /; internal artifact paths never appear in redirects.

Immutable CSS and runtime Returning browsers receive HTML that names the matching content-addressed files.

Assets Favicons, public files, imported media, and route documents return correct status and content type.

Behavior Exercise cold load, interaction, navigation, and compatible resume on target browsers.

Server execution boundary

Node executes only canonical Resource-field loaders and canonical Form-bound actions whose package exports, codecs, request facts, and registry digests are compiler-proven. Legacy handoffs and arbitrary server functions remain non-executable.