diff --git a/docs/superpowers/specs/2026-10-01-macos-app-design.md b/docs/superpowers/specs/2026-10-01-macos-app-design.md index 7919a75..865de69 100644 --- a/docs/superpowers/specs/2026-10-01-macos-app-design.md +++ b/docs/superpowers/specs/2026-10-01-macos-app-design.md @@ -39,16 +39,15 @@ Van menubalk-hulpprogramma naar een echte Mac-app: Dock-icoon, app-menu, een vri Eén Swift Package, vier lagen, steeds in één richting afhankelijk: ``` -Sst (app) → SstUI → (tokens, componenten) - │ - ├────────→ SstData → (woordenboek, correcties, geschiedenis; alleen Foundation) - └────────→ SstCore + SstWhisper (de engine; dunne uitbreidingen) +Sst (app) → SstUI (tokens, componenten) + ├────────→ SstData → SstCore (woordenboek, correcties, geschiedenis) + └────────→ SstWhisper → SstCore (de engine; dunne uitbreidingen) ``` | Module | Verantwoordelijkheid | Testbaar zonder UI | |---|---|---| | `SstCore` / `SstWhisper` | Engine (bestaat). Vier additieve raakpunten. | ja | -| `SstData` | `DictionaryFile`, `CorrectionEngine`, `EntryWarnings`, `VocabularyBuilder`, `HistoryStore`, `HistorySearch` | ja | +| `SstData` | `DictionaryFile`, `CorrectionEngine`, `EntryWarnings`, `VocabularyBuilder`, `HistoryStore`, `HistorySearch`, `AppSettings`. Deelt de typen `AppliedCorrection` en `TextCorrecting` met `SstCore`. | ja | | `SstUI` | Gegenereerde `DesignTokens`, componenten (toets, lampje, VU-meter, segmentteller, LED-balk, paneel, verzonken vlak, zeefdruk-label) | gedeeltelijk | | `Sst` | Scenes, menu's, `AppModel`, vensters, bundelscript | handmatig | @@ -159,7 +158,7 @@ cloud code => Claude Code Tegen verzinnen op stilte: - Is het RMS van de opname lager dan **0,015** (het stiltefilter van 0,005 blijft erboven), dan wordt **geen prompt** meegegeven. -- Bestaat het resultaat uitsluitend uit de prompt zelf (genormaliseerd) bij zo'n zachte opname, dan wordt het verworpen. +- Bestaat het resultaat (genormaliseerd: kleine letters, zonder leestekens) uitsluitend uit de eerste *k* termen van de prompt met *k* ≥ 2, dan wordt het verworpen: dat is een echo van de prompt, geen spraak. Eén term alleen ("Anthropic") is wel geldige spraak. - WhisperKit zet de snelle prefill-cache uit zodra een prompt is gezet; de snelheid wordt bij de bouw gemeten met en zonder prompt en in het plan vastgelegd. Doel: onder 1,5 s voor 8 s spraak. ### Mechanisme 2 — correctieronde (het gegarandeerde pad)