airvzxf / airvzxf/telora

decision: adopt voxora-local + voxora-vad in telora; retire telora-models?

Đang mở
#149 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
pending-human phase:mid-term
Ngôn ngữ chính
Rust
Star
0
Fork
0
Merge trung bình
48 phút
Pull request đã merge (30 ngày)
51

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
audio-video-rtc, backend, cli, documentation, release
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
20/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.