# RB-07 MAJOR: get_runtime_capabilities advertises wrong accelerators **Severity:** MAJOR **Path:** `src-tauri/src/commands/models.rs:435-489` **Source:** [2026-04-22 code review](../code-review-2026-04-22.md) **Labels:** release-blocker, major, ui-integrity ## Problem The IPC response hard-codes `accelerators = ["cpu", "vulkan"]` and `supports_gpu = true` for Whisper, even when: - `detect_active_compute_device` would report `metal` on macOS (via MoltenVK). - The binary was compiled without the `whisper` feature — in which case Whisper `supports_gpu` is meaningless because there is no Whisper backend at all. The frontend uses this response to render Settings toggles (GPU selection, active-device badge, feature availability). Wrong values mean wrong UI states on exactly the builds this function is meant to describe. ## Acceptance - `accelerators` is derived from actual build configuration and runtime probe, not hard-coded. - On macOS, `accelerators` includes `"metal"` when the Metal loader resolves. - On whisper-disabled builds, Whisper entries advertise `supports_gpu = false` (or the engine is omitted from the response entirely). - Regression tests cover each platform variant via cfg-gated test cases. ## Fix scope Medium. The detection helpers already exist (`detect_active_compute_device`, `vulkan_loader_available`); this is about wiring their output into the RuntimeCapabilities struct honestly. ## Dependencies - None — standalone fix.