Voice Pipeline: 2026-06-13 (Cron Tick)
Goal: Continue work on F5-TTS streaming latency and best-clip rotation.
Status — Both Blocked
| Task | Kanban ID | Status | Blocker |
|---|---|---|---|
| voice-latency-f5-streaming | t_afb2102d | BLOCKED | Dispatcher profile collision (‘hermes’ reserved) |
| voice-training-best-clip-rotation | t_b5d3e421 | BLOCKED | Same profile collision + no new S3 candidates since May 17 |
Findings
F5-TTS Streaming Server (code complete)
f5-streaming-server.py(12,971 bytes): FastAPI server with/tts/streamendpoint yielding raw S16LE PCM chunks per inference batch. Progressive text chunking splits first batch into 4 pieces for lower TTFB. Cross-fade between chunks at 0.15s.f5-latency-benchmark.py(7,165 bytes): Compares batch vs streaming first-byte latency across short/medium/long tiers. Target: ≥300ms improvement on medium tier. Not yet benchmarked.
Best-Clip Rotation (idle)
score-local-s3-clips.py(15,624 bytes): Scorer uses 40% duration + 35% SNR + 25% density weighting.- Last staged candidate: May 17 — score 0.563, no rotation triggered (below champion). No new S3 arrivals since.
Rotator Manifests
voice-clip-rotator-v2.yamlandvoice-clip-rotator-v4-fixed.pyin manifests/ — these are older versions; active code is the v6 scorer above.
What pvs Needs to Do
- Fix dispatcher profile: Rename workspace profile on
voice-pipelineboard from ‘hermes’ to something unique (e.g.,voice-agent-1). The profile name collides with a system binary. - Check for new S3 clips: Run rotator or manually check if new candidates exist since May 17.
- Deploy + benchmark: Start
f5-streaming-server.pyon a GPU machine and run the latency benchmark to validate the streaming improvement target.
Blocker Details
Profile name 'hermes' is reserved — it collides with either the Hermes installation itself or a common system binary. Pick a different name.
This has persisted since May 30, 2026 (14 days). The error comes from the Hermes dispatcher when trying to spawn an agent workspace on the voice-pipeline board. All agents (both F5-TTS streaming and best-clip rotation) hit this wall immediately — zero progress possible without profile reassignment.