Captures the 12 items from docs/code-review-2026-04-22.md that must land before v0.1 ships. One markdown file per issue with: severity, path:line, problem description, acceptance criteria, fix scope, and dependency graph. Split by severity: - 3 CRITICAL: live-session race, migration atomicity, transcript- profile FK - 9 MAJOR: monolith refactor, channel-fatality, capture worker join, runtime capabilities, macOS App Nap, decoder error prop, LLM prompt preflight, keystore thread-safety, hotkey device filter README.md indexes them with a fix-order dependency graph and a fish-shell script for bulk-converting to GitHub issues once `gh` CLI is installed and authed. Deferred step by user decision — markdown tracker is authoritative until then.
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# 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.
|