Două linkuri Facebook trimise pe Discord n-au produs niciun răspuns: scriptul
rula în interiorul turnului de chat, iar yt-dlp + ffmpeg + whisper depășeau
constant DEFAULT_TIMEOUT (300s, src/claude_session.py:37). Procesul era omorât
la mijlocul transcrierii, de cinci ori pe patru încercări.
Efecte în cascadă, toate reparate aici:
- retry-uri oarbe: linkul 1 reprocesat de două ori (notițe duplicate), linkul 2
niciodată atins
- notițe cu TL;DR gol — arată „gata" în index dar nu sunt
- orfani de 33MB în /tmp (trap EXIT nu rulează la SIGKILL)
- userul nu primea nici rezultat, nici eroare acționabilă
Schimbări:
- --bg (setsid nohup) + --notify <channel_id>; turnul confirmă pornirea, nu
terminarea. send_text() nou în tools/discord_send_file.py, pentru că un job
detașat supraviețuiește turnului și nu mai poate raporta prin on_text.
- faster-whisper int8 în locul openai-whisper: 554s audio în 113s (~5x realtime)
vs. peste 300s. Era deja în requirements.txt; openai-whisper nici măcar nu era
declarat. cpu_threads pe core-uri fizice, nu logice.
- limba implicită „auto": rularea forțată cu `ro` pe audio englezesc producea
transcriere halucinată (română inventată amestecată cu CJK)
- .venv/bin/python3 explicit; whisper nu există în python-ul de sistem, scriptul
mergea doar când era chemat cu venv-ul activat
- metadata yt-dlp pe disc, parsată o dată: descrierile Facebook conțin caractere
de control care corup variabila de shell, iar `|| echo Unknown` masca eșecul
- titlul sare segmentele de statistici: Facebook emite „830K views · 15K
reactions | Titlul real | Pagina", iar split('|')[0] producea notițe numite
2026-08-31_807k-views-15k-reactions.md
- curăță workdir-urile orfane mai vechi de 60 min la pornire
.gitignore: bridge/whatsapp/auth.bak-*/ — backup-urile Baileys conțin creds.json
(chei de sesiune vii), la fel ca auth/ care era deja ignorat.
Verificat end-to-end pe ambele linkuri: titlu corect, limbă en auto-detectată,
notiță + reindex + link, trap curăță /tmp, zero orfani.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0188YmDTUAzVvZDVh8JL8xSa
40 lines
635 B
Plaintext
40 lines
635 B
Plaintext
.venv/
|
|
.venv-pockettts/
|
|
venv/
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
*.egg-info/
|
|
sessions/
|
|
logs/
|
|
memory/*
|
|
!memory/kb/
|
|
memory/kb/*.sqlite
|
|
*.sqlite
|
|
.env
|
|
*.secret
|
|
.DS_Store
|
|
*.swp
|
|
bridge/whatsapp/node_modules/
|
|
bridge/whatsapp/auth/
|
|
.vscode/
|
|
.idea/
|
|
credentials/
|
|
.claude/
|
|
*.pid
|
|
memory.bak/
|
|
.use_openrouter
|
|
.gstack/
|
|
|
|
# jsonlock sidecar files (src/jsonlock.py) — empty flock handles, never data
|
|
*.lock
|
|
|
|
# Runtime state — auto-modified by dashboard/cron/heartbeat
|
|
approved-tasks.json
|
|
dashboard/status.json
|
|
tools/anaf-monitor/monitor.log
|
|
models/
|
|
|
|
# Backup-uri de stare Baileys — conțin creds.json (chei de sesiune WhatsApp)
|
|
bridge/whatsapp/auth.bak-*/
|