ToolingReproducible output

Building and testing

A release build should be reproducible from committed manifests and lockfiles. Validate source, build the Melt output, run Aegis, and only then start or deploy the production process.

Production build

Build gate
terminal
cargo ax check
cargo ax doctor --deny-warnings
cargo ax build --clean

`--clean` removes old output before generating `dist/`; it does not upgrade application dependencies. Commit `Cargo.lock` so CI and the host resolve the same runtime and UI packages you tested locally.

Build artifacts

dist
text
dist/
  index.html
  public assets
  _ax/melt/graph.json
  _ax/pkg/...
  state and component manifests when required

Static routes become HTML. Server-aware builds also keep the route, action, state, and package metadata needed by `cargo ax run start`.

Fast QA with Aegis

Test
terminal
cargo ax test
cargo ax test --format json --fail-fast false

Aegis fast checks verify HTTP status, expected content and links, forbidden error text, and same-origin navigation before deploy.

Export API contracts

Schema and OpenAPI
terminal
cargo ax api --schema
cargo ax api --openapi --out public/openapi.json

Upgrade separately

Never upgrade dependencies inside a production build. Run upgrades locally or in a dedicated dependency PR, regenerate the lockfile, execute the gates above, and deploy the reviewed result.

Development upgrade
terminal
cargo ax upgrade
cargo update
cargo ax doctor --deny-warnings
cargo ax test