95 lines
5.3 KiB
Markdown
95 lines
5.3 KiB
Markdown
# 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/`.
|