# orchestrator/

The state machine that drives a single **episode**:

```
snapshot_load → clean → armed → infecting → infected_running → dormant → reverting
```

Responsibilities:

- Bring up the host-only bridge and verify isolation before the guest starts.
- Boot the guest from a named snapshot.
- Spawn the five telemetry collectors (`collectors/`) with a shared episode id
  and shared monotonic clock origin.
- Drive the Metasploit Framework over RPC to fire the configured exploit module.
- Upload + execute the configured malware sample once a session is open.
- Emit phase transitions to `labels.jsonl` *at the moment the action is taken*.
- Revert the snapshot at episode end.
- Write `meta.json` with the result summary.

Implementation lives in this directory and is imported as `orchestrator.*`.
