feat(capture): gate global hotkey on dictation readiness checklist

Stops the "stuck pill" failure where pressing the chord with missing
STT/LLM models triggers a recording that has nowhere to land. The
hotkey now stays disarmed until every gate (models downloaded, Input
Monitoring + Accessibility granted) is green; the empty-state checklist
in CapturesTab surfaces each unmet gate with a one-click action and
auto-arms the chord once everything turns green.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This commit is contained in:
James Pine
2026-04-23 03:09:44 -07:00
co-authored by Claude Opus 4.7
parent 868a40fb7e
commit 85a3e1363f
10 changed files with 480 additions and 14 deletions
+5
View File
@@ -480,6 +480,11 @@ def get_llm_model_configs() -> list[ModelConfig]:
return _get_qwen_llm_configs()
def get_stt_model_configs() -> list[ModelConfig]:
"""Return only STT (Whisper) model configs."""
return _get_whisper_configs()
# Lookup helpers — these replace the if/elif chains in main.py