Files
atm-curs-dl/PROGRESS.md

5.3 KiB

Progres — atm-curs-dl (2026-09-12)

Pipeline personal de transcriere + sumarizare pentru cursul de trading ATM (Bogdan Jinga, systeme.io), cont cu acces parțial. Repo: romfast/atm-curs-dl pe Gitea. Pagină publicată (Tailscale, doar în tailnet): https://claude-agent.tailf7372d.ts.net/atm/index.html

Status: curriculum de bază 100% acoperit (52/52 lecții posibile)

Modul Lecții Status
Modulul 1 10 ✅
Catalizatori economici 8 ✅
Modulul 2 16 ✅
Modulul 3 6 ✅
Modulul 4 4 ✅
Analiză Fundamentală 9 ✅

Toate transcrise (transcripts/) și sumarizate (summaries/), diagrame verificate vizual (Playwright + server local), pe Gitea până la ultimul commit.

Ce a rămas — blocat de acces (purchase_required)

Modul 5 (7), Modul 6 (6), Master ATM 1-4 (4+3+5+3=15) = 28 lecții. Dacă userul primește acces: rulează din nou .venv/bin/python extract_audio.py (skip automat pe ce există + pe ce tot blocat) → transcribe.py → lansează agenți de sumarizare ca mai jos.

Ce NU s-a atins din start (decis cu userul, conținut efemer/recurent)

Analiză Zilnică (147), Q&A (28), Live Trading Room (5), Rezultate Clienți Mentorat (3), + 5 lecții unice (1:1 Daniel R, MG, IM, LC, DR, AP) = ~189. Nu au fost incluse în CORE_MODULES din extract_audio.py. De reluat doar dacă userul cere explicit.

Cum se reia sumarizarea (dacă apar lecții noi)

  1. Verifică ce transcrieri nu au încă .md în summaries/: diff <(find transcripts -name "*.txt" | sed 's/\.txt$//') <(find summaries -name "*.md" | sed 's/\.md$//') (numele de fișier diferă — compară manual pe conținutul folderelor, nu literal cu diff)
  2. Lansează un agent per lecție (Agent tool, subagent general), cu prompt care:
    • trimite la citit STYLE.md (integral) + summaries/05_MODUL_4/01_patternuri_complexe_partea_a_doua.md (exemplul de referință canonic) + o lecție înrudită deja scrisă
    • dă calea transcrierii sursă (spune explicit "citește-o integral cu Read")
    • cere output la calea potrivită în summaries/<modul>/
    • obligă verificare vizuală Playwright individuală pe fiecare <svg> (tab nou dedicat via browser_tabs, server local python3 -m http.server pe port propriu în summaries/, apoi render_html.py) — regulă din STYLE.md, nu opțională nici pentru diagrame "simple"
    • interzice explicit rularea transcribe.py/extract_audio.py (un agent confuz a pornit-o din greșeală o dată, a dus la procese concurente)
  3. După fiecare agent: git add -A && git commit && git push (commit-uri mici, per lecție sau grup mic — nu aștepta să acumulezi zeci de fișiere).

Reguli de stil — STYLE.md

Document complet cu toate cerințele acumulate din conversația cu userul (fără emoji, română + termeni trading în engleză, mecanisme concrete nu afirmații, diagrame la scară cu context de trend, DA/NU pentru capcane, exemple long+short, minim 2-3 exemple numerice, secțiune obligatorie "Cum tranzacționezi efectiv X" — de ce/ce faci/trigger/intrare-SL-TP, referințe web reale). Citește-l integral înainte de orice lecție nouă.

Probleme întâlnite + fix-uri

  • 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 cu condition_on_previous_text=False în loc de setările default din transcribe.py. Verifică orice transcriere sub ~15% din numărul de cuvinte așteptat pt durata audio — semn de halucinație sau eșec silențios.
  • Procese lungi mor la reset de sesiune Claude (nu la reboot de container — LXC-ul rulează continuu). Fix: pornește orice job de ore în tmux new-session -d -s <nume> "<comanda> 2>&1 | tee -a <log>", verifică cu tmux has-session -t <nume>, nu cu ps aux pe un PID salvat. Detalii + motiv complet în memorie: feedback_tmux_pentru_procese_lungi.md.
  • Browser Playwright partajat între agenți paraleli: tab-urile se "fură" reciproc. Fix folosit de agenți: tab dedicat via browser_tabs, sau verificare document.title/URL înainte de fiecare screenshot, sau (când a fost prea instabil) un script Playwright/Node de sine stătător în afara MCP-ului partajat.
  • Lecții fără conținut tehnic (intro-uri, workshop-uri de psihologie): nu forța diagrame — STYLE.md permite adaptare, precedent stabilit în 01_MODUL_1/01_bun_venit_in_atm.md și 10_workshop_increderea_in_tine.md.

Fișiere cheie ale proiectului

  • download.py / extract_audio.py — login systeme.io + extragere audio direct din URL (fără video pe disc)
  • transcribe.py — faster-whisper (CPU, model medium, int8)
  • render_html.py — .md → .html responsive, rulează după orice modificare
  • .env — credențiale (gitignored, nu se comite)
  • STYLE.md — regulile de format, citește-l mereu primul

Ce ar putea urma (neconfirmat, doar idei)

  • Userul poate cere reluarea Analiză Zilnică / Q&A dacă găsește valoare în ele, deși au fost deprioritizate.
  • Dacă userul primește acces la modulele blocate, reia pipeline-ul.
  • Userul a spus că va pune întrebări punctuale pe conținutul deja scris — following-up conversations pot referi direct fișierele din summaries/.