feat: US-011, US-012 - teste TTS + documentație /voice
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>
This commit is contained in:
@@ -295,12 +295,12 @@
|
||||
],
|
||||
"requiresBrowserCheck": false,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"failed": false,
|
||||
"blocked": false,
|
||||
"retries": 0,
|
||||
"failureReason": "",
|
||||
"notes": ""
|
||||
"notes": "tests/test_tts.py (nou, 11 teste): rutare engine din catalog (pockettts/supertonic), fallback pe default_engine pentru voce necatalogată, fallback tehnic (ConnectError/5xx) pe Supertonic cu engine_used corect, eroare de conținut (fișier .safetensors lipsă) NU declanșează fallback, regression retry lang na->na (fără retry dublu). tests/test_config.py: test dedicat persistență tts.default_engine prin save()/reload() (peste acoperirea generică deja existentă). pytest tests/test_tts.py tests/test_config.py: 34 passed. Suită completă: 1055 passed, 22 preexisting failures neschimbate."
|
||||
},
|
||||
{
|
||||
"id": "US-012",
|
||||
@@ -322,12 +322,12 @@
|
||||
],
|
||||
"requiresBrowserCheck": false,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"failed": false,
|
||||
"blocked": false,
|
||||
"retries": 0,
|
||||
"failureReason": "",
|
||||
"notes": ""
|
||||
"notes": "personality/TOOLS.md, secțiune Discord Voice extinsă cu subsecțiunea TTS: engine pocket-tts + Supertonic — motoare, rutare din tts_voices.json, /voice engine, /voice setvoice, /voice addvoice (venv separat .venv-pockettts, tools/pocket_tts_add_voice.py), /voice doctor (health-check), /audio. Comportament documentat (rutare din catalog, fallback tehnic vs eroare de conținut) verificat contra tools/tts.py și src/adapters/discord_voice.py — nu contrazice implementarea."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -273,3 +273,24 @@ Project: echo-core
|
||||
- US-011 (backend, teste TTS) — eligibil, dependsOn US-006 (passes:true)
|
||||
- US-012 (docs, TOOLS.md) — eligibil, dependsOn US-007+US-008+US-009 (toate passes:true)
|
||||
---
|
||||
|
||||
## Iterație: 2026-07-11 (US-011, US-012 — finalizate manual după epuizarea bugetului ralph de 15 iterații)
|
||||
### Story implementat: US-011 - Teste minime pentru rutare TTS și config (tags: backend)
|
||||
### Status: Complete
|
||||
|
||||
### Gates rulate:
|
||||
- Tests: PASS — pytest tests/test_tts.py tests/test_config.py: 34 passed (11 teste noi tts + 1 test nou config, restul preexistente)
|
||||
- Suită completă: pytest tests/: 1055 passed, 22 preexisting failures (neschimbate față de toate iterațiile anterioare)
|
||||
|
||||
### Story implementat: US-012 - Documentează comenzile TTS noi în TOOLS.md (tags: docs)
|
||||
### Status: Complete
|
||||
|
||||
### Gates rulate:
|
||||
- Review manual: secțiune nouă în personality/TOOLS.md verificată propoziție cu propoziție contra tools/tts.py::synthesize și src/adapters/discord_voice.py (rutare din catalog, fallback tehnic vs eroare de conținut, /voice engine/setvoice/addvoice/doctor, /audio)
|
||||
|
||||
### Learnings:
|
||||
- ralph.sh a epuizat bugetul de 15 iterații cu 10/12 povești complete (retry-uri repetate pe max-turns=30 la US-004/006/008/009 + o pauză de 30min pe rate limit) — cele două povești rămase (teste + docs) nu aveau nicio complexitate arhitecturală, doar volum de context (citit tools/tts.py, discord_voice.py, tts_voices.json), potrivite pentru finalizare directă fără un nou run ralph.
|
||||
- _synthesize_pockettts distinge tehnic (ConnectError/timeout/5xx → raise _PocketTTSUnavailable → fallback) de eroare de conținut (fișier stat_path lipsă, 4xx → dict {ok:false} direct, fără fallback) — testat explicit ca regression guard, pentru că e ușor de stricat accidental dacă cineva mută un check de validare în interiorul try-ului.
|
||||
|
||||
### Next:
|
||||
- Toate cele 12 povești din PRD sunt passes:true. Self-improve TTS (pocket-tts + Supertonic routing) e complet.
|
||||
|
||||
Reference in New Issue
Block a user