# Screenshot capture protocol (see protocol/screenshot_protocol.md) capture_tool: /usr/sbin/screencapture modes: [native_live, dashboard_live, viewer_postrun, transcript_replay] triggers: - {id: env_verification, mode: native_live, surface: Terminal, rule: once per phase 00/03} - {id: live_run, mode: native_live, surface: Terminal (controller log) + dashboard_live (viewer), rule: first run of each arm in smoke; stratified subset in main (first block per family)} - {id: gate_rejection, mode: dashboard_live, rule: every controller gate failure in smoke/pilot; sampled in main} - {id: recovery, mode: dashboard_live, rule: every fault-injection run (before/fault/after)} - {id: dashboard_status, mode: dashboard_live, rule: at pilot end, main end} - {id: results_figure, mode: viewer_postrun, rule: once after analysis} storage_bound_mb: 300