Skip to content

Voice Phase V1: unblock the loop + wire the upload guard #331

Description

@VforVitorio

Sub of Epic #330. documents/audits/AUDIT_VOICE_STACK.md Phase V1 (size M). Worth doing in the v1 window.

Scope: unblock the loop + wire the guards.

  • V-1 (P0): move the blocking Whisper inference (voice.py:275) and the blocking LLM call (voice.py:293) off the async event loop (to_thread), and warm the Whisper model at startup instead of lazy-loading on the first request.
  • V-2 (P1): import the ALREADY-EXISTING 25MB/120s upload guard (audio_processor.py:43) into voice.py (one import; the fix ownership for the broader upload hardening stays with Security Epic: Audit security & prompt-injection #223 S-4).

Deliverable: a voice turn no longer freezes the backend, and audio uploads are size/duration-bounded.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: codebaseTouches src/, scripts/, or notebooks/auditTracks findings from a site/code auditpriority: P0Must fix immediately — blocks users

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions