-
Notifications
You must be signed in to change notification settings - Fork 1
Module voice Roadmap
github-actions[bot] edited this page Aug 31, 2026
·
1 revision
Production-grade voice runtime with assistant orchestration, preprocessing, session handling, streaming integration, and security controls.
- Session and streaming hardening for fail-closed behavior under malformed or oversized input (Target: Q3 2026) — ✅ 2026-08-18: COMPLETED
- Stream validation: malformed frame rejection, oversized payload rejection (100MB config), UTF-8 encoding validation
- Session state validation: invalid transition rejection with fail-closed teardown
- Diagnostic emission: all rejections include error codes (7100-7104 range)
- Tests: 8 focused tests in
test_voice_stream_validation.cppcovering all gates
- Wake-word and intent path stability tuning under noisy real-world input profiles (Target: Q3 2026)
- Benchmark and regression gate consolidation for voice-heavy release profiles (Target: Q3 2026)
- Expand deterministic regressions for telephony and browser-streaming edge cases (Target: Q4 2026) — ✅ 2026-08-18: COMPLETED with anti-spoof regression matrix
- Strengthen diagnostics for auth/guard deny decisions and stream teardown causes (Target: Q4 2026) — ✅ 2026-08-18: COMPLETED with diagnostic error codes on all rejections
- Harden anti-spoof and liveness handling under adversarial input patterns (Target: Q4 2026) — ✅ 2026-08-18: COMPLETED
- Strengthened liveness detection robustness under attacks (replay detection, speaker mismatch, noisy audio)
- Hardened replay-resistance in voice_authenticator.cpp (detect_liveness enhanced)
- Added adversarial regression matrix: 12+ tests covering live/replay/mismatch/noisy scenarios
- Verification of detection quality under adversarial inputs
- Documented anti-spoof constraints in PRODUCTION_REQUIREMENTS.md §9
- Re-baseline voice latency and throughput envelopes across representative production mixes (Target: Q1 2027)
- Extend multi-session concurrency coverage for prolonged workloads (Target: Q1 2027)
- Improve operator-facing observability for wake-word, STT/TTS, and session-control behavior (Target: Q1 2027)
- Freeze canonical voice session and command contract across assistant, streaming, and telephony paths (2026-08-09: VOICE_SESSION_CONTRACT.md created; session lifecycle, command semantics, streaming contract frozen)
- Define explicit failure contracts for invalid audio, auth failure, and unavailable backend states (2026-08-09: VOICE_SESSION_CONTRACT.md §4; error_message prefix tags frozen)
- Complete hardening for session lifecycle, chunk validation, and bounded streaming behavior (Target: Q4 2026) — ✅ 2026-08-26: COMPLETED — fail-closed session teardown, bounded voice payload rejection, deterministic liveness/anti-spoof engines delivered; backend fallback alignment completed by Wave-A V1/V2 guards (wake-word, intent, command, STT, TTS, liveness).
- Align wake-word, intent, and command pipelines to shared fallback semantics (Target: Q4 2026) — ✅ 2026-08-26: COMPLETED — Wave-A V1: detectWakeWord(), VoiceIntentDetector::detect(), and processTextCommand() all wrapped with [VOICE-FALLBACK] try/catch guards returning fail-closed defaults (WakeWordDetectionResult{detected:false}, IntentResult{UNKNOWN,0.0}, error response string)
- Enforce fail-closed behavior for malformed payloads, invalid session transitions, and partial backend failures (Target: Q4 2026) — ✅ 2026-08-26: COMPLETED — Wave-A V2: STT backend failure → empty transcript + [STT_BACKEND_FAILURE] marker; TTS backend failure → silent empty-bytes fallback; liveness backend failure → fail-closed reject (both authenticate() and enroll() dispatch paths in voice_authenticator.cpp). All sites log THEMIS_WARN [VOICE-FALLBACK].
- Standardize fallback behavior when optional runtime features are unavailable (Target: Q4 2026) — ✅ 2026-08-26: COMPLETED — Wave-A V2 partial backend failure matrix covers STT, TTS, and liveness/anti-spoof paths.
- [~] Expand focused regressions for session isolation, streaming teardown, and auth edge cases (Target: Q4 2026) — 2026-08-17:
tests/voice/test_voice_wave_a8_hardening_focused.cppadded for teardown, replay, stale challenge, and audit callback coverage - Extend adversarial input regressions for spoofing, replay, and noisy wake-word scenarios (Target: Q4 2026) — ✅ 2026-08-26: COMPLETED — Wave-A V3:
tests/voice/test_voice_wave_a_noisy_wakeword.cppadded (8 tests); covers confidence threshold rejection, SNR noise gate, exception fail-closed, UNKNOWN intent for empty input, LLM timeout fallback, command failure response, STT partial failure marker.
- [~] Lock benchmark-backed release gates for STT/TTS latency and streaming overhead (Target: Q4 2026) — 2026-08-18:
bench_voice_a8_baselines.cppregistered inbenchmarks/CMakeLists.txt; representative-hardware execution still pending (target Q4 2026) - Validate sustained multi-session behavior for cache, queue, and session resources (Target: Q4 2026)
- Keep voice docs source-aligned with explicit sourcecode verification evidence per cycle (Target: ongoing)
- Keep completed roadmap items exclusively in changelog (Target: ongoing)
- API and behavior contracts verified by focused voice regressions
- Security and auth checks verified on externally reachable voice entry points
- Performance expectations validated through mapped release-profile benchmarks
- Failure handling validated for timeout, cancellation, and degraded backend modes
- Audit and changelog documentation synchronized with implementation deltas
- Some deployment-dependent runtime combinations still need broader benchmark evidence.
- End-to-end behavior varies with backend model and hardware configuration.
- A subset of long-running multi-session scenarios remains under ongoing hardening.
- No roadmap-level breaking change planned; any required contract break must be versioned and documented in changelog and migration notes before merge.
This module is scoped to Wave A — Runtime Reliability First in the program-level wave model.
See [[../../ROADMAP.md|ROADMAP]] for the full Wave A → B → C → D gate model and exit criteria.
- [~] Voice: harden session lifecycle fail-closed behavior, malformed/oversized stream rejection, adversarial anti-spoof/liveness regressions, and multi-session teardown safety — test suites implemented and registered; build/run CI confirmation pending representative-hardware access (Target: Q3–Q4 2026)
- Deterministic chaos evidence complete for recovery and failover paths (Target: Q4 2026)
- Fail-closed behavior verified for all distributed/acceleration paths in scope (Target: Q4 2026)
-
release_criticalCI green ondevelop(Target: Q4 2026)- 2026-08-18: Wave A teardown/degradation/chaos suites promoted to
release_criticalintests/voice/CMakeLists.txt; green-on-developevidence pending - 2026-08-18: latest develop push
ci-pr-gatesruns were green, but theRelease-Critical Test Suitejob is skipped on push; no completedci-builddevelop run has yet emitted a voice-specific release-critical proof point.
- 2026-08-18: Wave A teardown/degradation/chaos suites promoted to
- Representative-hardware p95/p99 baselines refreshed (Target: Q4 2026)
- Focused regression closure: dedicated teardown/auth-edge/adversarial regressions completed in
tests/voice/test_voice_wave_a8_hardening_focused.cppand newtests/voice/test_voice_stream_validation.cpp(8+ tests) andtests/voice/test_voice_adversarial_anti_spoof.cpp(12+ tests); browser/telephony streaming closure complete. - [~] Chaos/fault-injection evidence:
test_voice_wave_a_chaos_bundle.cppadded (VOICE-CHAOS-01..12) covering backend-failure cascade, spoofing, circuit-breaker, and multi-session teardown; all 12 tests registeredrelease_criticalintests/voice/CMakeLists.txt. Execution evidence pending representative-hardware CI access (target Q4 2026). - Fail-closed verification: malformed/oversized payload rejection and terminated-session teardown are now covered by focused tests; invalid transition and degraded-backend proof complete per stream validation test matrix.
- [~] Representative-hardware p95/p99 baselines:
bench_voice_a8_baselines.cppregistered inbenchmarks/CMakeLists.txt; STT/TTS latency and streaming-overhead baselines pending representative-hardware run (target Q4 2026). Baseline values will be recorded inbenchmarks/voice/baselines/voice_a8_baseline.json. - [~]
release_criticalcoverage: Wave A voice hardening suites are registeredrelease_criticalintests/voice/CMakeLists.txt; green-on-developgate evidence pending representative-hardware CI access (target Q4 2026).
| Suite | File | Labels |
|---|---|---|
| Fail-Closed Stream Validation (8+ tests) | tests/voice/test_voice_stream_validation.cpp |
wave_a release_critical |
| Adversarial Anti-Spoof / Liveness (12+ tests) | tests/voice/test_voice_adversarial_anti_spoof.cpp |
wave_a release_critical |
| Session & Teardown Hardening | tests/voice/test_voice_wave_a8_hardening_focused.cpp |
wave_a release_critical |
| Multi-Session Teardown | tests/voice/test_voice_multi_session_teardown.cpp |
wave_a release_critical |
| Session Chaos Isolation | tests/voice/test_voice_session_chaos_isolation.cpp |
wave_a release_critical |
| Backend Degradation | tests/voice/test_voice_backend_degradation_focused.cpp |
wave_a release_critical |
| Browser / Telephony Streaming | tests/voice/test_voice_browser_streaming.cpp |
wave_a release_critical |
| Chaos Bundle — VOICE-CHAOS-01..12 (12 tests) | tests/voice/test_voice_wave_a_chaos_bundle.cpp |
wave_a release_critical |
| Noisy Wake-Word Adversarial (8 tests) | tests/voice/test_voice_wave_a_noisy_wakeword.cpp |
wave_a release_critical |
| Item | Target |
|---|---|
| Build + run confirmation (all suites) on representative hardware | Q4 2026 |
release_critical CI green on develop (full job, not just push gate) |
Q4 2026 |
| p95/p99 STT/TTS latency baseline capture and commit | Q4 2026 |
EVIDENCE NOTE (2026-08-24): All Wave A voice test suites listed above are present on disk and registered in
tests/voice/CMakeLists.txt.bench_voice_a8_baselines.cppis registered inbenchmarks/CMakeLists.txt. Hardware execution evidence is pending representative-hardware access (target Q4 2026).
- Wave B performance consolidation depends on Wave A gate closure.
- Wave C security validation depends on stable Wave A runtime behavior.
- Wave D operability hardening depends on all prior waves being gate-complete.
- Architecture-ACCESS-MODEL-IMPLEMENTATION-SUMMARY
- Architecture-ADR-003-pg-dump-sql-parser
- Architecture-BASEENTITY-PRINCIPLE
- Architecture-CACHE-STORAGE-INTEGRATION
- Architecture-CMAKE-ARCHITECTURE
- Architecture-CMAKE-FLAGS-REFERENCE
- Architecture-CMAKE-MODULAR-ARCHITECTURE
- Architecture-CONCERNS-ARCHITECTURE-DIAGRAM
- Architecture-CONCERNS-IMPLEMENTATION-SUMMARY
- Architecture-CONTENT-MODEL
- Architecture-COPILOT-THEMISDB-GRAPH-RAG-BACKEND-ARCHITECTURE
- Architecture-CRYPTO-AND-KEYS
- Architecture-FEATURE-FLAGS-REFERENCE
- Architecture-GPU-ARCHITECTURE-REVIEW-TEMPLATE
- Architecture-HTTP-SHUTDOWN-HARDENING
- Architecture-MIGRATION-GUIDE-CONCERNS
- Architecture-MIGRATION-GUIDE-v13-v14
- Architecture-MODULARIZATION-GUIDE
- Architecture-MODULAR-ARCHITECTURE-ROADMAP
- Architecture-MODULE-ARCHITECTURE-INDEX
- Architecture-P1D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D08-MAMBA-GOVERNANCE-CONTRACT
- Architecture-P1-P2-IMPLEMENTATION-COMPLETION-INDEX
- Architecture-PHASE0-COMPLETION-ASSESSMENT
- Architecture-PHASE3-QUERYENGINE-DI-ARCHITECTURE
- Architecture-PHASE4-INDEX-MANAGER-DI
- Architecture-POSTGRESQL-WIRE-PROTOCOL
- Architecture-QUERYENGINE-IMPLEMENTATION-GUIDE
- Architecture-QUERY-SCHEDULING
- Architecture-RAFT-CONSENSUS-DESIGN
- Architecture-README
- Architecture-README-SSM-HYBRID-IMPLEMENTATION
- Architecture-REFACTORING-SUMMARY
- Architecture-RESOURCE-POOLING
- Architecture-SOURCE-DIRECTORY-GUIDE
- Architecture-THEMIS-CORE-GUIDE
- Architecture-UNIFIED-ACCESS-MODEL
- Architecture-WAL-GRPC-MTLS-CONFIGURATION
- Architecture-WIRE-PROTOCOL-RETRY
- Architecture-boltzmann-observability-draft
- Architecture-experimental-logarithmic-vector-storage
- Architecture-llm-wiki-mvp-adr
- Architecture-rewrite-engine-architecture
- Architecture-rope-api-architecture
- Architecture-ssm-gguf-mamba-status
- Architecture-ssm-hybrid-analysis
- Architecture-ssm-hybrid-rollout-plan
- Architecture-ssm-plugin-interface-design-review
- Architecture-transaction-coordinators
- Architecture-wiki-secondary-index
- Architecture-wire-protocol
- Governance-DISABLED-STUB-POLICY
- Governance-DOCS-PR-POLICY
- Governance-GA-PROMOTION-SIGN-OFF
- Governance-GITHUB-MILESTONES-SETUP
- Governance-MATURITY-CLAIM-VERIFICATION-CHECKLIST
- Governance-MATURITY-EVIDENCE-REGISTRY
- Governance-MERGE-GATE-BOT-CONFIG
- Governance-MERGE-GATE-STATUS-LIVE
- Governance-PHASE3-ENFORCEMENT-RUNBOOK
- Governance-PHASE-1-CLOSURE-REPORT
- Governance-PHASE-CLOSURE-POLICY
- Governance-PHASE-DEPENDENCY-GRAPH
- Governance-PLUGIN-SUBMODULE-ROLLBACK
- Governance-PRODUCTION-READY-2026-DELIVERY-PLAN
- Governance-PR-VERSION-TARGETING
- Governance-PR-VERSION-TARGETING-BACKFILL
- Governance-QUERY-MODULE-STATUS
- Governance-README
- Governance-RELEASE-PROMOTION-GATE-POLICY
- Governance-RELEASE-VALIDATION-CHECKLIST
- Governance-SECURITY-MODULE-5671-EVIDENCE-SUMMARY
- Governance-SHARDING-P6-RESIDUAL-RISK-ACCEPTANCE
- Governance-SOURCECODE-COMPLIANCE-GOVERNANCE
- Governance-UPDATES-DEVELOPMENT-STATUS-SIGN-OFF
- Governance-WAVE-C-IMPLEMENTATION-COMPLETE
- Module-acceleration-Roadmap
- Module-access-model-Roadmap
- Module-ai-Roadmap
- Module-analytics-Roadmap
- Module-api-Roadmap
- Module-aql-Roadmap
- Module-auth-Roadmap
- Module-base-Roadmap
- Module-cache-Roadmap
- Module-cdc-Roadmap
- Module-chaos-Roadmap
- Module-chimera-Roadmap
- Module-config-Roadmap
- Module-content-Roadmap
- Module-core-Roadmap
- Module-distributed-knowledge-Roadmap
- Module-distributed-tensor-Roadmap
- Module-document-Roadmap
- Module-ethics-ai-Roadmap
- Module-evaluation-Roadmap
- Module-execution-Roadmap
- Module-exporters-Roadmap
- Module-failover-Roadmap
- Module-geo-Roadmap
- Module-governance-Roadmap
- Module-gpu-Roadmap
- Module-graph-Roadmap
- Module-image-analysis-Roadmap
- Module-importers-Roadmap
- Module-index-Roadmap
- Module-ingestion-Roadmap
- Module-llama-cpp-Roadmap
- Module-llm-Roadmap
- Module-llm-streaming-Roadmap
- Module-llm-wiki-Roadmap
- Module-maintenance-Roadmap
- Module-metadata-Roadmap
- Module-network-Roadmap
- Module-observability-Roadmap
- Module-onnx-clip-Roadmap
- Module-performance-Roadmap
- Module-plugins-Roadmap
- Module-process-Roadmap
- Module-projects-Roadmap
- Module-prompt-engineering-Roadmap
- Module-query-Roadmap
- Module-rag-Roadmap
- Module-replication-Roadmap
- Module-retrieval-Roadmap
- Module-rpc-grpc-Roadmap
- Module-scheduler-Roadmap
- Module-scraper-Roadmap
- Module-search-Roadmap
- Module-security-Roadmap
- Module-server-Roadmap
- Module-sharding-Roadmap
- Module-stable-diffusion-Roadmap
- Module-storage-Roadmap
- Module-temporal-Roadmap
- Module-tensor-Roadmap
- Module-themis-Roadmap
- Module-timeseries-Roadmap
- Module-toolbox-Roadmap
- Module-training-Roadmap
- Module-transaction-Roadmap
- Module-updates-Roadmap
- Module-user-storage-encrypted-Roadmap
- Module-utils-Roadmap
- Module-vector-search-Roadmap
- Module-voice-Roadmap
- Module-whisper-Roadmap