# Offline environment index

This directory contains current environment-specific routing assets and concise
operator notes. Durable topology and identity policy live in
`deployments/deployment-config.json`; runtime implementation lives in
`deployments/offline/runtime/`.

| Environment | Current deployment surface | Notes |
| --- | --- | --- |
| Test | `deploy-test-serviceification.yml` | signed-BOM full deploy plus bounded image diagnostics on three fixed routes |
| Formal Staging | `deploy-staging-blue-green-environment.yml` | signed-BOM D3 blue/green |

Use an environment subdirectory only for its current routing or runtime shape.
Workflow inputs and script `--help` output remain the command authority.

## Invariants

1. `runtime.env` is generated host state, not the durable topology source.
2. Test slot identity is fixed by `deployment-config.json`; every mutation is
   fenced to the selected slot before it runs.
3. Formal Staging runs from reviewed `main`, deploys an immutable signed BOM to
   the standby slot, and switches nginx only after D3 serving verification.
4. Manifest-backed patch contents are sealed before environment mutation and
   rechecked before replay.
5. Seed-owned mutations enter through `scripts/apply_deploy_seed.py` or the
   reviewed Dispatcher integration.
6. Logs and summaries expose safe identifiers and hashes, never secret values.

Classic EXP and CI monolithic deployment has been retired. Use the current
serviceified D3 workflows or [independent local deployment](../../docs/local-independent-deployment.md) for verification.
