# bee test scenarios A scenario is a plain JSON file describing an ad-hoc diagnostic run: which commands to execute (sequentially or in parallel) and what to sample in the background while they run — without hardcoding a new test into bee's own code. See `audit/internal/platform/scenario.go` (`ParseScenarioJSON`, `ScenarioSpec`) for the full field reference. ## Running one ``` bee run ``` or, for a scenario file dropped under `scenarios/` on a mounted removable drive (e.g. the same USB stick already plugged in for blackbox — useful on an air-gapped host with no other way to get a file onto it): ``` bee run # looks for scenarios/.json on any mounted removable media ``` `bee scenario run ` is the same command under a longer name. ## Files checked in here - `nvbandwidth-all-gpu-power-watch.json` — the scenario that reproduced the CG480-S6053 reboot: full `nvbandwidth` across all GPUs at once (the per-GPU-socket passes alone never reproduced it), with `ipmitool sensor` and `nvidia-smi` power/temp sampled every 2s in the background so a crash mid-run still leaves telemetry to check for a power-delivery correlation. **`gpu_indices` is host-specific** — update it to match the GPU indices `nvidia-smi -L` actually reports on the box under test before running. ## Adding more Not every scenario needs to be checked in here. For a one-off test on a specific host (especially air-gapped), it's simpler to write the JSON file directly onto the blackbox USB stick under `scenarios/.json` and run `bee run ` — no code change, no rebuild. Check a scenario in here only when it's worth keeping around as a reusable/named test across hosts.