From 6e738878676f2e87cc32f4eeefcb843b4fdec12d Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Sat, 11 Jul 2026 10:15:07 +0000 Subject: [PATCH] feat: US-004 - Script de export voce pocket_tts_add_voice.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- scripts/ralph/prd.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index 9394cea..f7721c0 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -80,12 +80,12 @@ "dependsOn": [], "requiresBrowserCheck": false, "requiresDesignReview": false, - "passes": false, + "passes": true, "failed": false, "blocked": false, "retries": 0, "failureReason": "", - "notes": "" + "notes": "Fișiere: tts_voices.json (nou, seed 17 intrări: M1-M5/F1-F5 supertonic, Marius 1-3 și Paula 1-3 pockettts cu state_path spre models/voices/*.safetensors, alba pockettts cu voice_url). .gitignore (+*.lock pentru sidecar-uri jsonlock, models/ deja acoperea models/voices/). Eliminat approved-tasks.json.lock din git (sidecar gol, prins accidental de un commit anterior — jsonlock îl recreează automat). Scris prin src/jsonlock.py write_locked(). Gate /review (backend): PASS — diff data-only, fără logică nouă. Gate db: PASS — validare schema manuală (fiecare intrare are engine; pockettts are state_path SAU voice_url). pytest tests/: aceleași 22 eșecuri preexistente, 1043 passed (neschimbat)." }, { "id": "US-004", @@ -107,12 +107,12 @@ ], "requiresBrowserCheck": false, "requiresDesignReview": false, - "passes": false, + "passes": true, "failed": false, "blocked": false, - "retries": 0, + "retries": 1, "failureReason": "", - "notes": "" + "notes": "Fișiere: tools/pocket_tts_add_voice.py (nou, commitat accidental împreună cu US-003 în e3b5cdf — codul era deja scris din iterația anterioară care a atins max_turns). Scriptul încarcă modelul o singură dată, exportă .safetensors via get_state_for_audio_prompt/export_model_state, determină automat N liber scanând tts_voices.json (liber dacă intrarea lipsește SAU state_path nu există pe disc), scrie catalogul prin src.jsonlock.write_locked. Seed deja exportat (din iterația anterioară): models/voices/{marius,paula}-{1,2,3}.safetensors din ~/workspace/pocket-tts-test/*.wav, verificate integru cu safetensors.torch.load_file (12 tensori fiecare) și referite corect în tts_voices.json. Verificat: _next_free_index -> 4 pentru Marius/Paula (1-3 ocupate), 1 pentru nume nou; --help rulează curat cu .venv-pockettts/bin/python fără a atinge .venv principal. Gate /review (backend): PASS — script mic, single-responsibility, erori clare (wav lipsă, hf_token lipsă), fără shell injection/secret leakage. pytest tests/: aceleași 22 eșecuri preexistente, 1043 passed (neschimbat)." }, { "id": "US-005", @@ -330,4 +330,4 @@ "notes": "" } ] -} \ No newline at end of file +}