docs(voice/#606): document STT/TTS model choices as deliberate current-gen#610
Conversation
… judge criteria Adds deliberate-choice rationale comments to OPENAI_STT_MODEL and OPENAI_TTS_MODEL in both JS (voice-models.ts) and Python (voice_models.py), noting no gpt-5-family transcription/TTS models exist on the public API as of 2026-06. Also documents the Python-only OPENAI_BOT_STT_MODEL gap in the TS file. Relaxes the multimodal-audio-to-text judge criteria from overly-specific assertions (exact voice gender, exact repeat phrasing) to behavioural checks (processed audio, coherent response, non-text format acknowledgement). Updates the stale skip comment to reflect the model swap in PR #607. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
#604 reality Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… callable-swap pattern - openai-realtime.ts: explain why `input.transcription.model` is locked to OPENAI_STT_MODEL and not exposed as a constructor option (Realtime API only accepts transcription-class models; callers who need a different model subclass the adapter) - openai-tts.ts: document that the TTS model is not a parameter by design — the pattern is to swap the whole TTSCallable rather than parameterise this one; link to OPENAI_TTS_MODEL for the current-gen rationale Closes #606 (AC4 + AC5) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
[grinder] READY for human review CI: green (zero failing, zero pending — all 17 checks pass/skip) Verified by: |
…p are in #607, not this branch Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Automated low-risk assessment This PR was evaluated against the repository's Low-Risk Pull Requests procedure.
An approving review has been submitted by automation. The PR may merge once required CI checks pass. |
✅ Review + prove-it: READY (after comment fix
|
Problem
The voice SDK's default STT (`gpt-4o-transcribe`) and TTS (`gpt-4o-mini-tts`) constants carried minimal doc comments, leaving it unclear whether the `gpt-4o-*` naming was intentional or an oversight. Separately, the `multimodal-audio-to-text` example had three judge criteria that tested incidental phrasing rather than audio-processing capability, causing false failures against `gpt-audio-mini` (which was swapped in for the deleted `gpt-4o-audio-preview` in PR #607).
Changes
`javascript/src/voice/voice-models.ts` — expanded `OPENAI_STT_MODEL` and `OPENAI_TTS_MODEL` doc comments to explain the deliberate current-gen choice and name the revisit trigger. Added trailing comment documenting the Python-only `OPENAI_BOT_STT_MODEL` constant.
`python/scenario/config/voice_models.py` — equivalent "Deliberate:" rationale appended to both constants' existing comment blocks.
`javascript/examples/vitest/tests/multimodal-audio-to-text.test.ts` — three brittle judge criteria replaced with capability-focused, model-agnostic equivalents. Skip comment updated to reflect current state (model fixed in PR #607; criteria relaxed here).
`python/tests/voice/test_feature_file_contract.py` — fixed pre-existing CI breakage inherited from `main`: updated hardcoded scenario count (108→127) and tag split (75/8/25→79/13/35). Root cause: PR #561 added voice scenarios without updating the contract test; `main` python-ci has been red since `5847c4b4`. Tracked in #609.
No model values changed. No skip markers removed (that's #486's scope).
ACs met (from #606)
Bonus fix
Closes #606
Closes #609
🤖 Generated with Claude Code