# Backlog ## BMC версия через IPMI **Статус:** реализовано. Добавить сбор версии BMC firmware в board collector: - Команда: `ipmitool mc info` → поле `Firmware Revision` - Записывать в `hardware.firmware[]` как `{device_name: "BMC", version: "..."}` - Показывать в TUI правой колонке рядом с BIOS версией - Graceful skip если `/dev/ipmi0` отсутствует (silent: same pattern as PSU collector) ## CPU acceptance test через stress-ng **Статус:** реализовано. CPU в Health Check получает PASS/FAIL из summary.txt. Добавить CPU SAT на базе `stress-ng`: - Bake `stress-ng` в ISO (добавить в `bee.list.chroot`) - Новый `bee sat cpu` — запускает `stress-ng --cpu 0 --cpu-method all --timeout ` где N = duration из режима (Quick=60s, Standard=300s, Express=900s) - Параллельно снимает температуры через `sensors` и throttle-флаги из аудит JSON - Результат: SAT архив с summary.txt в формате других SAT (overall_status=OK/FAILED) - После реализации: CPU в Health Check получает реальный PASS/FAIL статус ## Real hardware validation **Статус:** ожидает доступа к железу. Что осталось подтвердить на практике: - `bee sat nvidia` на реальном NVIDIA GPU host - `bee sat storage` на NVMe/SATA/RAID host - `ipmitool sdr` parsing на сервере с реальным BMC/IPMI - vendor RAID tooling (`storcli64`, `sas2ircu`, `sas3ircu`, `arcconf`, `ssacli`) в живом ISO ## SAT result polish **Статус:** частично закрыто. Что ещё можно улучшить после полевой проверки: - точнее классифицировать vendor-specific self-test outputs в `storage SAT` - подобрать дефолты `memtester` по объёму RAM на целевых машинах - при необходимости расширить `bee-gpu-stress` по длительности/нагрузке ## Hardware Contract backlog **Статус:** уточнён, сокращён до `bee`-only snapshot scope. ### Не backlog для `bee` Эти задачи не должны реализовываться в `bee`, потому что относятся к централизованному ingest/lifecycle слою: - `status_history` - `status_changed_at` - определение замены компонента между snapshot'ами - timeline/lifecycle/history по diff между экспортами `bee` отвечает только за текущий snapshot железа и `status_checked_at`. ### Реализуемо инкрементально Эти поля можно развивать дальше по мере появления реальных sample outputs и vendor-specific parser'ов: - `cpus.correctable_error_count` - `cpus.uncorrectable_error_count` - `power_supplies.life_remaining_pct` - `power_supplies.life_used_pct` - `pcie_devices.battery_charge_pct` - `pcie_devices.battery_health_pct` - `pcie_devices.battery_temperature_c` - `pcie_devices.battery_voltage_v` - `pcie_devices.battery_replace_required` ### Vendor/platform-specific, часто пустые Эти поля допустимо оставлять пустыми на части платформ даже после реализации parser'ов: - `power_supplies.life_remaining_pct` - `power_supplies.life_used_pct` - часть `pcie_devices.battery_*` для неподдержанных RAID/NIC/GPU вендоров ### Unsupported в `bee` Эти поля считаются нереалистичными для общего OS-level hardware snapshotter без synthetic/fake data: - `cpus.life_remaining_pct` - `cpus.life_used_pct` - `memory.life_remaining_pct` - `memory.life_used_pct` - `memory.spare_blocks_remaining_pct` - `memory.performance_degraded` Причина: у обычного Linux-host audit обычно нет честного vendor-neutral runtime source для этих метрик. Эти поля считаются дропнутыми из backlog `bee` и не должны возвращаться в план работ без появления нового доказуемого локального источника данных на целевых машинах.