Finalizare manuală după ce ralph.sh a epuizat bugetul de 15 iterații
la 10/12 povești (self-improve TTS pocket-tts + Supertonic).
- tests/test_tts.py: rutare engine din catalog, fallback tehnic vs
eroare de conținut, regression retry lang=na
- tests/test_config.py: test dedicat persistență tts.default_engine
- personality/TOOLS.md: documentează /voice engine, setvoice,
addvoice, doctor și /audio
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- synthesize() rezolvă engine din tts_voices.json (fallback la tts.default_engine din config)
- _synthesize_pockettts nou: POST multipart la :7789/tts cu voice_wav/voice_url, ignoră lang
- fallback tehnic automat pe _synthesize_supertonic(M2, ro) via _PocketTTSUnavailable; erori de
conținut (voce lipsă, text gol) nu declanșează fallback; rezultatul include engine_used
- gates rulate: tests PASS (1043 passed, 22 eșecuri preexistente neschimbate), /workflow:simplify
(4 agenți) cu 1 fix aplicat, /review (backend, manual) PASS
- tools/pocket_tts_add_voice.py fusese deja creat și commitat cu US-003
(e3b5cdf); acest commit doar marchează US-004 complet în prd.json după
verificare
- verificat: script rulează cu .venv-pockettts/bin/python fără .venv
principal; _next_free_index întoarce 4 pentru Marius/Paula existenți
(1-3 ocupate), 1 pentru nume noi
- verificat integritatea celor 6 blob-uri models/voices/*.safetensors deja
exportate (12 tensori fiecare, safetensors.torch.load_file OK)
- gates: /review (backend) PASS, pytest 1043 passed (22 eșecuri
preexistente neschimbate)
- REQUIRED_SECRETS include acum hf_token alături de discord_token
- teste actualizate pentru noul set de secrete obligatorii (+ test_partial_required)
- gates rulate: tests PASS (22 eșecuri preexistente neschimbate), /review (backend) PASS
Idempotent sed-based rewrite of any crontab line that references
/home/moltbot/clawd/tools/backup_config.sh so it points at the
echo-core copy. Safe to re-run; prints a single status line either way.