decision: adopt voxora-local + voxora-vad in telora; retire telora-models?
- 主要言語
- Rust
- スター
- 0
- フォーク
- 0
- 平均マージ
- 48分
- マージ済み PR(30日)
- 51
説明
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.
コントリビューションガイド
調査の方向性
Read the decision table, TODO.md, and COMPATIBILITY.md first, then review #142 and the referenced voxora 0.5.0 changes. This issue is not ready for implementation until the operator chooses the UX and release scope; done means recording the go/no-go decisions and opening the appropriate follow-up EPICs.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- audio-video-rtc, backend, cli, documentation, release
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100