v8.17.2
v8.17.2 — #238 TTS cache: prune orphaned .pcm entries (PR #241, squash e9c02c9; bump PR #242). At prewarm, cached .pcm files whose key is not produced by the current fixed-phrase list and TTS identity are deleted (two-stage plan/delete, lstat-only, symlinks / sub-dirs / .tmp-* untouched, empty list never prunes; opt-out tts.cache.prewarm=false). Clears the entries orphaned by the #234 cache-key change and every voice/model/baseUrl/rate change since. Evidence: PR #241 completion record (host make test 99/99, 3 seats Opus/Qwen/Gemini cumulative 3/3 GO), CI run 34318415668. Follow-up: #239. Between v8.17.1 and this tag: #241, #242 (bump), repo-state pins (non-shipping).