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

# Operator checklist

> Preflight gates to run before every production deploy.

<Warning>
  Do not ship a policy that has not cleared this checklist. The gates below
  exist because each one has caught a real production-blocking issue at least
  once.
</Warning>

## Preconditions

* Zenoh control plane reachable for your deployment topology.
* Robot config selected and safety profile defined.
* Dataset collected with the same robot contract version.

## Required gates

<Steps>
  <Step title="Collect">
    A `collect` run exists and the dataset inputs are persisted under
    `.rfx/runs/`.
  </Step>

  <Step title="Validate">
    A `validate` report passes — `timestamp`, `alignment`, `schema`, and
    `missing data` checks all green.
  </Step>

  <Step title="Train">
    `train` produced a policy artifact manifest with compatibility metadata.
  </Step>

  <Step title="Eval">
    An `eval` report passes for the same artifact.
  </Step>

  <Step title="Shadow (recommended)">
    A `shadow` report passes. Optional, but recommended for any deploy that
    touches hardware.
  </Step>

  <Step title="Deploy preflight">
    `rfx deploy` preflight allowed the release.
  </Step>
</Steps>

## Commands

```bash theme={null}
rfx runs list
rfx runs show <run_id>
```

`rfx runs show` surfaces the run record, including lineage metadata
(inputs, outputs, artifact manifest, robot config hash) written by each
workflow stage.

## Blockers

Deploy must be blocked when any of the following is true:

* Artifact manifest missing or schema incompatible
* No successful eval report for the artifact
* Shadow is required but no passing shadow report exists
* Robot config hash mismatch
* Safety profile mismatch

## Incident readiness

* Keep the `run_id` for rollback and audits.
* Verify `.rfx/runs/`, `.rfx/reports/`, and `.rfx/artifacts/` are persisted.
* Use `rfx runs show <run_id>` to inspect exact replay prerequisites
  (inputs, config, artifact lineage).
