Brohammad / Brohammad/VoxForge

Expand WebSocket voice-turn coverage for api/ws/voice.py

Open
#51 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
Python
Stars
4
Forks
1
Avg merge
5d 13m
Merged PRs (30d)
10

Description

## Summary

Coverage ratchet calls out `api/ws/voice.py` as a high-gap module. Existing WS tests lean on session lifecycle; audio-turn e2e exists for listening but coverage docs still want this path expanded toward the 75% ratchet.

## Context

- `docs/testing/coverage.md` (high-gap list + 75% ratchet)
- `src/voxforge/api/ws/voice.py`
- `tests/integration/test_websocket_audio_turn_e2e.py`
- `tests/integration/test_voice_pipeline_e2e.py`
- `docs/architecture/ci-hardening.md`

## Acceptance criteria

- [ ] Additional mock-provider WS turn assertions (messages + eval artifacts)
- [ ] Measurable coverage increase on `api/ws/voice.py` (report in PR)
- [ ] No live STT/LLM/TTS keys
- [ ] Distinct from #31 (Playwright barge-in)

Keep tests hermetic for PR CI.

Contributor guide

Open the contributing guide

Research direction

Read src/voxforge/api/ws/voice.py and the existing tests in tests/integration/test_websocket_audio_turn_e2e.py and tests/integration/test_voice_pipeline_e2e.py. Use docs/testing/coverage.md and docs/architecture/ci-hardening.md to understand the 75% ratchet and hermetic CI expectations. Add mock-provider WebSocket turn assertions for messages and evaluation artifacts, then report a measurable coverage increase without live STT, LLM, or TTS keys.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.