decision: adopt voxora-local + voxora-vad in telora; retire telora-models?
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 50m
- Merged PRs (30d)
- 48
Description
Operator-decision issue — does not block the 0.5.0 release. Tracked separately so the operator can think about scope without rushing.
## Context
`voxora 0.5.0` (airvzxf/voxora#117) shipped two new publishable crates that telora does not yet consume:
- **`voxora-local`** — local-directory `ModelSource` (closes voxora#49). Implements the hardened `LocalSource` (path-traversal guard, symlink-following refusal, `O_NOFOLLOW` open, honours `ResolveOptions::max_bytes` + `max_id_length`, opaque `Debug`). The new `Registry::with_builtin_descriptors_and_chained_source(LocalSource)` helper (voxora-registry 0.5.3) is the canonical "local-first, HF-on-miss" recipe.
- **`voxora-vad`** — voice-activity detection (sliding-window RMS, debounce). Closes voxora's long-standing "auto-stop on silence" gap.
Separately, `telora-models` is already marked for retirement in `TODO.md` (it is a thin wrapper that delegates every operation to `voxora-hf`; the `voxora` CLI is the recommended interface going forward).
## Decisions needed
| Decision | What it changes | Recommendation |
|---|---|---|
| **Adopt `voxora-local`** in telora-daemon so an operator can pre-vendor weights under `[paths] voxora_local_dir = "..."` and have the daemon prefer those over an HF download. Closes a long-running operator request for air-gapped / hermetic deployments. | New config key + new resolve path. | Open as a follow-up EPIC once #142 lands. Use `with_builtin_descriptors_and_chained_source(LocalSource)` per voxora-registry 0.5.3. |
| **Adopt `voxora-vad`** in telora-daemon so recording auto-stops on silence (or so the daemon trims silence before transcribe). | UX change + integration with the audio capture loop. | Open as a follow-up EPIC. Requires a UX decision: auto-stop on silence vs. trim-silence-before-transcribe vs. both. |
| **Retire `telora-models`** entirely now that `voxora list` / `voxora download` are the canonical entry points. | Drops one of the four release binaries; updates README, packaging recipes, and the PKGBUILD optional-deps list. | Currently held back because every existing operator script references `telora-models`. Recommend shipping v0.5.0 with `telora-models` intact and opening a 0.6.0 retirement EPIC once voxora-cli parity is verified on every distro in `COMPATIBILITY.md`. |
## Why this is `pending-human`
All three decisions are UX / packaging scope decisions, not technical blockers. The orchestrator can implement any of them, but the operator owns the UX surface and is best placed to decide what ships in which release. Each item has a clear technical path; what is missing is the go/no-go.
## Labels
- `pending-human` — operator decision required.
- `phase:mid-term` — these are mid-term scope decisions, not part of the 0.5.0 release.
Contributor guide
Assessment
This issue has not been assessed yet.