Navigator has three operating modes but only two parsed deployment profiles. “Dev” is the local KIND lane, including its
disposable navigator dev staging integration surface; the wire value is dev. All persistent hosted rows use
production, even when a config, namespace, or hostname ends in -staging. “Test” is the dev profile with
NAVIGATOR_CI_HARNESS=1, not a third parsed value. Exact means exact: staging, test, Dev, Production, or any
value with surrounding whitespace is an error. Production is selected by exact production, empty, or unset, so an
absent selector is production-safe.
The staging identity remains a deployment release ring in the operator's private config, Kubernetes namespaces, data
planes, and public hosts. It never becomes a weaker runtime profile. Set both NAVIGATOR_ENVIRONMENT and
NAVIGATOR_CREDENTIAL_ENVIRONMENT to production in the selected row's private config.toml; the runtime also fences
provider endpoints, so the proving ring keeps production boot checks while its isolated data plane holds sample matters.
The data rule is small but not flat: every boot applies the same embedded, environment-blind canonical seed —
jurisdictions above all, the reference table every entity and licensure record points at — and a boot carrying sample
matters additionally and idempotently applies the compiled fixture (three synthetic matters, their participants, and the
rows used by the portal walkthrough). Tests may add rows inside their isolated schemas.