fix: resolve open issue batch — #1172 #1173 #1174 #1185 #1186 #1188

- validate managed binaries before exec; 0-byte GGUF placeholders fail
  actionably instead of "Exec format error" (#1172)
- KittenTTS: tokenizer-measured chunking to the ONNX 512-token cap;
  clear 400 for unspeakable input (#1173)
- clean SIGTERM during weight load: shutdown-aware loader, benign
  cancelled-load classification, lifespan hardening, scoped log
  silencers (transformers load + alembic fileConfig) (#1174)
- broken ASR deep-imports (lightning_fabric) mark the engine
  unavailable with a repair hint and fall through (#1185)
- uv cache + managed Python follow the chosen install drive on
  Windows (cherry-picked cross-drive class fix + spaces/D: tests) (#1186)
- adaptive silence-removal ladder for quiet clone references; localized
  actionable error for truly silent clips, all 21 locales (#1188)
- CHANGELOG: consolidated Unreleased into the quiet one-liner style

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
debpalash
2026-07-19 04:29:33 +05:30
co-authored by Claude Fable 5
parent f1dbd03171
commit 933743e336
64 changed files with 2748 additions and 195 deletions
+12 -5
View File
@@ -30,8 +30,15 @@ in-process `OmniVoiceBackend`.
## Placeholder note
Until the CI matrix produces real binaries, this directory may contain
zero-byte placeholders. `OmniVoiceGGUFBackend.is_available()` returns
`(False, "...binary missing...")` in that case so the engine reports
honestly through the Engine Compatibility Matrix and the default
selection falls back to the in-process `OmniVoiceBackend`.
Until the CI matrix produces real binaries, this directory contains
zero-byte placeholders — a plain `git clone` always gets those (real
binaries ship via the installers / CI artifacts, and are never committed
here). `OmniVoiceGGUFBackend.is_available()` validates the file before
trusting it (`services/binary_preflight.py`: non-empty + a real
Mach-O/ELF/PE magic, #1172) and returns `(False, "...not a usable
executable...")` for a placeholder, so the engine reports honestly
through the Engine Compatibility Matrix and the default selection falls
back to the in-process `OmniVoiceBackend`. Selecting the engine anyway
(e.g. `model: "omnivoice-gguf"` on `/v1/audio/speech`) yields an
actionable 400/503 naming `scripts/build-omnivoice-tts.sh`, never a raw
"Exec format error".