Skip to content

feat(tts): declarative TTS_PROVIDERS table + resolve/preflight#213

Open
MohammedAnasNathani wants to merge 1 commit into
alphacrack:mainfrom
MohammedAnasNathani:feat/tts-providers-table
Open

feat(tts): declarative TTS_PROVIDERS table + resolve/preflight#213
MohammedAnasNathani wants to merge 1 commit into
alphacrack:mainfrom
MohammedAnasNathani:feat/tts-providers-table

Conversation

@MohammedAnasNathani

Copy link
Copy Markdown

Summary

Closes #193 (slice 1 of #113).

What

New leaf module src/readme2demo/tts.py (no importers yet):

Piece Mirrors
TTSProviderSpec + TTS_PROVIDERS llm.ProviderSpec / PROVIDERS
resolve_tts_backend resolve_backend — auto skips noncommercial
resolve_tts_model / resolve_tts_voice _provider_model (+ voice)
check_tts_sdk / check_tts_model check_sdk / check_model

Policy encoded as data

  • No hardcoded cloud default_model (same incident class as the stale Gemini default 404)
  • default_voice is set (taste default operators should not have to supply)
  • auto never selects local (noncommercial=True, CC-BY-NC named in the spec)
  • Cross-provider model-prefix leak guard (stale config defaults from another backend)

Explicitly not in this PR

  • No audio synthesis, network, or new dependencies
  • No Config field / CLI flag / pyproject.toml extras
  • No import from cli.py preflight (next slice)

Test plan

  • pytest tests/test_tts_providers.py — 13 passed
  • ruff check clean
  • No other module imports tts

Add a leaf tts module mirroring llm.ProviderSpec: openai/elevenlabs/local
specs, resolve_tts_backend/model/voice, and check_tts_sdk/model. Auto
never selects noncommercial local backends; cloud providers have no
hardcoded default model. Unwired — no Config/CLI/pyproject changes.

Closes alphacrack#193
Copilot AI review requested due to automatic review settings July 22, 2026 23:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tts: declarative TTS_PROVIDERS table + resolution and preflight validation (pure data, no audio — slice 1 of #113)

2 participants