# Operations runbook

## 1. Подготовка
- Собрать C++ binaries (`make`).
- Проверить `run_config.json` и доступность hardware.
- Для native режима убедиться в правах на USB/GPIO.

## 2. Запуск GUI
```bash
python3 -m python_app.gui.main
```

## 3. Базовый сценарий live run
1. Проверить Radar/Switches config.
2. Выбрать calibration/reference sets.
3. Нажать `Start`.
4. Проверить обновление history и графика.
5. Нажать `Stop`.

## 4. Сохранение snapshot
1. Указать `Path`, `Name`, `Last N`.
2. Нажать `Save Numpy Snapshot`.
3. Проверить `manifest.json` и каталоги `raw/preprocessed/results`.

## 5. Проверка snapshot
```bash
python3 python_app/scripts/check_snapshot_numpy.py <snapshot_dir>
```

## 6. Конвертация snapshot для vna_system
```bash
python3 python_app/scripts/convert_snapshot_to_vna_history.py \
  <snapshot_dir> \
  -o <output_json> \
  --input 0 \
  --output-index 0
```

Полученный JSON содержит `sweep_history` и загружается в `vna_system` через кнопку загрузки истории у B-scan графика.

## 7. Типовые проблемы
- Пустой график: проверить processing mode и наличие trace payloads.
- Нет запуска в B-scan: проверить ограничение combo для native switches.
- Ошибки лимитов радара: проверить соединение с устройством и serial.
- Процессы не стартуют: смотреть crash reports в GUI log.

## 8. Безопасная остановка
- Использовать `Stop` в UI.
- При закрытии окна вызывается стоп всех процессов и закрытие dialogs/readers.
