Commit Graph

4 Commits

Author SHA1 Message Date
pluto b2c82f36d7 feat: VAD ingestion buffer — Silero VAD, per-room accumulation
TDD: 3 tests covering silence passthrough, speech→silence segment emission,
and short-speech discard. Uses _speech_ms tracking (not total buffer length)
for accurate min_speech_ms enforcement. Silero VAD import is try/except'd
so tests run without torch via mocker.patch on vad_prob.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:33:36 -05:00
pluto 4bb609049a feat: voice recognition — resemblyzer embed + cosine similarity matching
Implements pack/unpack_embedding, cosine_similarity, find_best_speaker_match
(max-per-speaker grouping, known/ambiguous/unknown thresholds), and embed_audio
with lazy resemblyzer import so tests run without the docker-only dependency.
10 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:30:38 -05:00
pluto 052f019075 feat: add database schema with WAL mode and FTS5 triggers
SQLite database layer with thread-local connections, WAL journal mode,
foreign key enforcement, and FTS5 full-text search on utterances via
content-table triggers. TDD: 5 tests written first, all passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:28:05 -05:00
pluto df53903ceb feat: scaffold project structure
Add pyproject.toml, pytest.ini, .env.example, app package layout (shared/pipeline/api/cron), and test skeleton.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:22:03 -05:00