feat: US-009 - marchează complet în prd.json

This commit is contained in:
2026-07-11 10:44:06 +00:00
parent 504e12ac4e
commit 8700276816

View File

@@ -242,12 +242,12 @@
], ],
"requiresBrowserCheck": true, "requiresBrowserCheck": true,
"requiresDesignReview": false, "requiresDesignReview": false,
"passes": false, "passes": true,
"failed": false, "failed": false,
"blocked": false, "blocked": false,
"retries": 0, "retries": 1,
"failureReason": "", "failureReason": "",
"notes": "" "notes": "Fișiere: tools/tts.py (+list_voice_names(engine=None), citește tts_voices.json prin _load_voice_catalog/jsonlock; _synthesize_supertonic folosește list_voice_names(engine='supertonic') cu fallback pe _FALLBACK_SUPERTONIC_VOICES dacă catalogul lipsește), src/fast_commands.py (_VOICES înlocuit cu _supertonic_voice_names() care importă tools/tts.py lazy), src/adapters/discord_bot.py (/audio: @app_commands.choices static înlocuit cu @app_commands.autocomplete(voce=_voice_autocomplete) care filtrează pe input curent din tts.list_voice_names()), src/adapters/discord_voice.py (/voice setvoice: @app_commands.choices static înlocuit cu autocomplete similar; parametrul voice devine str simplu + validare explicită 'voce necunoscută' dacă nu e în catalog). Codul era deja scris (necommitat) dintr-o iterație anterioară care a atins max_turns — verificat linie cu linie contra AC-urilor, fără nevoie de rescriere. voice_commands.py._VALID_VOICES neatins, conform AC. Verificat: tts.list_voice_names() -> toate cele 17 intrări din tts_voices.json; list_voice_names(engine='supertonic') -> doar M1-M5/F1-F5; list_voice_names(engine='pockettts') -> Marius 1-3/Paula 1-3/alba. Gate ui: fără server web pe techStack.port pentru comenzi Discord — verificat structural prin create_bot()+discord_voice.register() izolat: parametrul 'voce' din /audio și 'voice' din /voice setvoice au autocomplete legat corect (p.autocomplete e callback-ul, nu None), celelalte parametri (text_sau_url, rezumat) rămân fără autocomplete. Gate /review (backend, manual): PASS — _load_voice_catalog citește prin src.jsonlock (read_locked), fără shell/subprocess nou, fără secret leakage, import lazy tools/tts.py identic cu pattern-ul existent din _tts_synthesize_preview. pytest tests/: aceleași 22 eșecuri preexistente, 1043 passed (neschimbat)."
}, },
{ {
"id": "US-010", "id": "US-010",
@@ -330,4 +330,4 @@
"notes": "" "notes": ""
} }
] ]
} }