Severity: Medium · stale_docs · confidence high
Location: docs/MODELS.md:50
Impact: Engine work is mis-scoped: the document says adding an engine requires only backend code, a downloader entry, and a selector entry, but current Swift code hardcodes Pocket/Kokoro voice routing and persisted engine handling.
Evidence: The document was last changed on 2026-08-22 and states that the app needs no change beyond the picker. Current code hardcodes engine-specific behavior in AppState.activeVoice and selectVoice (AppState.swift lines 57-82), and Prefs.engine documents only kokoro and pocket (Prefs.swift lines 82-84).
Recommendation: Rewrite the inaccurate future-engine paragraph in docs/MODELS.md to document the required Swift engine-routing, voice-selection, and persisted-preference changes, while preserving the decision rationale.
Cross-validated by: codex — The decision record says, “Adding one is backend-local” and that the app needs “no change beyond the picker.” That is contradicted by AppState.activeVoice and selectVoice, which branch explicitly on "pocket" versus Kokoro, and by Prefs.engine, which persists only "kokoro" | "pocket"; adding another engine requires Swift routing and persistence changes. The document is a load-bearing decision record, so rewrite the inaccurate extension-point paragraph rather than delete the record.
Filed automatically by latent-git-agents (auditor, agent: codex). Dedupe token: latent-audit-fp-376b934c14705167
Severity: Medium · stale_docs · confidence high
Location:
docs/MODELS.md:50Impact: Engine work is mis-scoped: the document says adding an engine requires only backend code, a downloader entry, and a selector entry, but current Swift code hardcodes Pocket/Kokoro voice routing and persisted engine handling.
Evidence: The document was last changed on 2026-08-22 and states that the app needs no change beyond the picker. Current code hardcodes engine-specific behavior in AppState.activeVoice and selectVoice (AppState.swift lines 57-82), and Prefs.engine documents only kokoro and pocket (Prefs.swift lines 82-84).
Recommendation: Rewrite the inaccurate future-engine paragraph in docs/MODELS.md to document the required Swift engine-routing, voice-selection, and persisted-preference changes, while preserving the decision rationale.
Cross-validated by: codex — The decision record says, “Adding one is backend-local” and that the app needs “no change beyond the picker.” That is contradicted by AppState.activeVoice and selectVoice, which branch explicitly on "pocket" versus Kokoro, and by Prefs.engine, which persists only "kokoro" | "pocket"; adding another engine requires Swift routing and persistence changes. The document is a load-bearing decision record, so rewrite the inaccurate extension-point paragraph rather than delete the record.
Filed automatically by latent-git-agents (auditor, agent: codex). Dedupe token: latent-audit-fp-376b934c14705167