diff --git a/apps/fc-ttsreader/fc-ttsreader.yaml b/apps/fc-ttsreader/fc-ttsreader.yaml index 8326efb..44d7c80 100644 --- a/apps/fc-ttsreader/fc-ttsreader.yaml +++ b/apps/fc-ttsreader/fc-ttsreader.yaml @@ -296,14 +296,23 @@ spec: periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 18 + # Sprint E Phase 1a (kokoro stability) — 4 restarts in 2d6h with + # exit 143 traced to liveness probe `context deadline exceeded` while + # kokoro was busy synthesizing. /v1/audio/voices shares the FastAPI + # worker pool with /v1/audio/speech, so a long synth can starve the + # probe out within the prior 5s × 3 = 15s window. Bump timeoutSeconds + # 5 → 15 and failureThreshold 3 → 5 → 75s grace before kubelet kills + # the pod. The TtsCircuitBreaker on the synthesizer side (Phase 1b) + # backs this up so the FC backend stops slamming kokoro during + # recovery. livenessProbe: httpGet: path: /v1/audio/voices port: 8880 initialDelaySeconds: 180 periodSeconds: 30 - timeoutSeconds: 5 - failureThreshold: 3 + timeoutSeconds: 15 + failureThreshold: 5 --- # fc-biblical-tts — eSpeak-NG-backed Ancient Greek + Hebrew TTS with # word-level timing for read-along playback. Companion to ttsreader-kokoro