Fix: transcribe.py nu mai sterge audio daca transcrierea nu pare completa

Cauza: am rulat `find transcripts -size -1k -delete` cat transcribe.py scria
in acelasi director. faster_whisper scrie bufferat, deci o transcriere de o
ora sta sub 1KB minute in sir; find a sters fisierul de sub proces, Python a
logat "Transcribed" pe un inode disparut, si audio-ul a fost sters. Lectia
11 (25.11.2025) pierduta complet, re-descarcata.

- transcribe_file() intoarce bool, verifica nr. cuvinte vs durata audio
- pull_moltbot.sh: staging + mutare doar peste 1KB, in loc de find -delete
- PROGRESS.md: documentat, ca sa nu se repete

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
This commit is contained in:
Claude Agent
2026-09-12 18:35:06 +00:00
parent bde96649e9
commit c28e08b3aa
4 changed files with 68 additions and 4 deletions

View File

@@ -169,6 +169,24 @@ exemple long+short, minim 2-3 exemple numerice, secțiune obligatorie
referințe web reale). **Citește-l integral înainte de orice lecție nouă.**
## Probleme întâlnite + fix-uri
- **NU rula `find <transcripts> -size -1k -delete` cât rulează
`transcribe.py`.** Greșeală făcută pe 2026-09-12: am folosit-o ca să curăț
fișierele goale aduse de pe moltbot, în timp ce transcrierea locală scria
în același director. `faster_whisper` ține fișierul deschis și scrie
bufferat — o transcriere de o oră stă sub 1KB minute în șir. `find` a
șters fișierul de sub proces; la final Python a închis un handle către un
inode dispărut, a logat "Transcribed" ca și cum ar fi reușit, iar
`transcribe.py` a șters și audio-ul. Lecția 11 (25.11.2025) a fost pierdută
complet și a trebuit re-descărcată.
Fix-uri aplicate:
- `pull_moltbot.sh` — aduce în staging, mută doar fișierele peste 1KB.
Folosește-l în loc de `scp` + `find -delete`.
- `transcribe.py` — `transcribe_file()` întoarce acum bool și **verifică
numărul de cuvinte față de durata audio** (prag: 15% din 100 cuvinte/min)
înainte ca apelantul să șteargă audio-ul. Un fișier dispărut sau o
transcriere suspect de scurtă păstrează audio-ul, deci pierzi doar timp
de CPU, nu și descărcarea.
- **Halucinație whisper** (propoziții repetate în buclă): a apărut la
`05_MODUL_4/02_3_STRATEGIA_5_MDSRT.txt`. Fix: re-extrage audio pentru
lecția aia (`extract_audio.py` are funcțiile reutilizabile), retranscrie