feat(voice): add OpenAI text-to-speech - #233
Conversation
b8b28cb to
2497d62
Compare
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. Fresh static review completed for the exact three-dot comparison 771776f...382df01. The code-review and wes-review passes covered the OpenAI TTS credential setup, readiness and settings UI, backend selection, streaming synthesis/playback, interruption and delivery accounting, window teardown, persistence, platform behavior, localization, and tests. Final self-check covered every changed user flow; accessibility; English and Spanish localization completeness; navigation and consent guards; async failure, never-completes, lifecycle, and race behavior; test honesty; design-system and project rules; duplicate overlap; and the evidence/user-effect bar for blocking severity. No publishable findings survived. Supplied GitHub evidence was inspected: all ten reported check runs completed successfully; the separate combined commit-status state is pending and required checks still govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 0 duplicate(s) suppressed.
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
REQUEST_CHANGES. Fresh static review completed for the exact three-dot comparison 771776f...b1268c3. The code-review and wes-review passes covered credential setup and migration, readiness and settings UI, backend selection, streaming synthesis and playback, interruption and delivery accounting, window teardown, persistence, platform behavior, localization, and changed tests. Final self-check covered every changed user flow; accessibility; English and Spanish localization completeness; navigation and consent guards; async failure, never-completes, lifecycle, and race behavior; test honesty; design-system and project rules; duplicate and overlapping findings; and concrete evidence plus user effect for blocking severity. One blocking credential-state consistency issue remains. Supplied GitHub evidence was inspected: all ten reported check runs completed successfully; the separate combined commit-status state is pending, and required checks still govern merge readiness.
Deterministic publication result: 1 blocking and 0 non-blocking finding(s) publishable; 0 duplicate(s) suppressed.
72ff2e0 to
02b5005
Compare
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. Fresh static review completed for the exact three-dot comparison 96a91d9...02b5005. The code-review and wes-review passes covered credential setup and migration, readiness and settings UI, backend selection, streaming synthesis and playback, interruption and delivery accounting, window teardown, persistence, platform behavior, localization, and changed tests. The previously reported credential-state inconsistency is fixed: canonical mutation now determines success while legacy cleanup is best-effort, with regression coverage. Final self-check covered every changed user flow; accessibility; English and Spanish localization completeness; navigation and consent guards; async failure, never-completes, lifecycle, and race behavior; test honesty; design-system and project rules; duplicate and overlapping findings; and concrete evidence plus user effect for blocking severity. No publishable findings survived. Supplied GitHub evidence was inspected: all ten reported check runs completed successfully; required checks still govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 0 duplicate(s) suppressed.
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
02b5005 to
be6b2ef
Compare
Summary
Adds OpenAI text-to-speech as a Voice Conversation output backend.
Configuration
Enter an OpenAI key in Settings → Voice → Speech output after selecting OpenAI. Berd stores it in the system credential manager under the shared OpenAI voice entry. Goose provider credentials remain separate.