Files
Lumotia/docs/issues/runtime-capabilities-accelerators.md
Jake 592b894790 docs(cr-2026-04-22): add release-blocker issue tracker at docs/issues/
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.
2026-04-22 09:46:08 +01:00

1.4 KiB

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 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.