Skip to content

v0.2.0-beta.5.1.8 - Gemini TTS Content-Blocked Recovery

Pre-release
Pre-release

Choose a tag to compare

@AmirMotefaker AmirMotefaker released this 12 Aug 12:04
· 6 commits to main since this release
87da695

Gemini TTS content_blocked classifier recovery

Trigger:

  • controlled Batch A run 31587048578
  • source v0.2.0-beta.5.1.7 / 30c75a0
  • Atomic Habits Sulafat chunks succeeded; Schedar chunk 1 then returned HTTP 400 content_blocked

Fix:

  • explicit speech-synthesis preamble
  • spoken transcript START/END boundaries
  • transcript preserved exactly
  • no safety setting changes
  • recovery only for exact transcript SHA already synthesized successfully in the same process
  • every actual recovery-prompt POST consumes the global recovery budget
  • generic retryable recovery responses also consume recovery budget
  • max recovery POSTs = 2 globally
  • third recovery POST refused before network fetch
  • overall generation POST hard cap remains 10

Deterministic proof:

  • primary content_blocked -> recovery POST #1 -> retryable 500
  • recovery POST #2 -> retryable 500
  • later eligible recovery POST #3 is refused before network fetch
  • unseen transcript fails closed
  • completed/no-audio materialization tests remain PASS

Lifecycle:

  • Issue #68
  • PR #69
  • final PR head: f3f9d42
  • merge/release SHA: 87da695
  • PR CI: 31594232501
  • main CI: 31594649547
  • Pages deploy: 31594649570

Safety:

  • no Batch A dispatch in this release step
  • no media-dual-v0.2.0-beta.6 creation
  • no episodes.json/player/Piper promotion