PROGRESS: predare inainte de modulul 5
Fluxul complet pentru un modul nou (download, extract_audio, transcribe, sumarizare, verificare, render), capcanele cozilor, si cine ce agent e. 17_STRATEGII ramane terminat; deschise doar cele doua intrebari pentru user. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
107
PROGRESS.md
107
PROGRESS.md
@@ -1,4 +1,109 @@
|
|||||||
# Progres — atm-curs-dl (actualizat 2026-09-22, 20:30 UTC)
|
# Progres — atm-curs-dl (actualizat 2026-10-01)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# PREDARE 01.10.2026 — URMEAZA MODULUL 5
|
||||||
|
|
||||||
|
Userul a primit acces la **modulul 5** si vrea sa fie prelucrat. **Nu e nimic
|
||||||
|
pe disc inca** (`summaries/` si `transcripts/` au 01, 02, 03, 04 = M1, M2, M3,
|
||||||
|
M4, plus catalizatori, analiza zilnica, Q&A, analiza fundamentala).
|
||||||
|
**Repo curat, pushat, nimic nu ruleaza.** Ultimul commit: `119b611`.
|
||||||
|
|
||||||
|
## Primul lucru de facut la reluare
|
||||||
|
|
||||||
|
Intreaba userul **ce anume are**: acces in cont (atunci descarcarea e
|
||||||
|
automata), sau fisiere pe care le-a pus undeva pe disc. Fluxul difera.
|
||||||
|
|
||||||
|
## Fluxul complet pentru un modul nou, in ordine
|
||||||
|
|
||||||
|
**Pasii 1-3 nu au nevoie de niciun model.** Sunt scripturi; un agent pus sa le
|
||||||
|
supravegheze adauga doar cost si moduri noi de esec. Lanseaza-le detasat si
|
||||||
|
asteapta-le cu monitorul, nu cu polling.
|
||||||
|
|
||||||
|
1. **`python download.py`** — ia videourile prin API-ul systeme.io. Cere
|
||||||
|
`.env` cu `ATM_EMAIL` / `ATM_PASSWORD`. Reluabil (Range + `videos/manifest.json`).
|
||||||
|
**De sarit, de obicei:** pasul 2 nu are nevoie de video pe disc.
|
||||||
|
2. **`python extract_audio.py`** — ffmpeg citeste MP4-ul direct de pe
|
||||||
|
CloudFront si scrie doar pista audio (mono 16 kHz) in `audio/<modul>/`.
|
||||||
|
Niciun video nu atinge discul. Reluabil prin existenta fisierului.
|
||||||
|
3. **`python transcribe.py`** — `audio/<modul>/*.mp3` → `transcripts/<modul>/*.txt`
|
||||||
|
cu faster-whisper pe CPU. **Sterge audio-ul dupa transcriere reusita.**
|
||||||
|
Reluabil: sare peste lectiile care au deja transcriere.
|
||||||
|
- **`python extract_text_lessons.py`** — lectiile FARA video (text/quiz), pe
|
||||||
|
care `extract_audio.py` le sare. Scrie in acelasi loc, ca sa intre in
|
||||||
|
acelasi flux.
|
||||||
|
- Daca o parte din coada merge pe moltbot: **`./pull_moltbot.sh <dest>`**,
|
||||||
|
niciodata `scp` + `find -size -1k -delete` (a sters o data o transcriere
|
||||||
|
de sub procesul care o scria, iar audio-ul era deja sters).
|
||||||
|
4. **Sumarizare, cu agenti opencode**, unul per transcriere. Formatul si
|
||||||
|
regulile: `STYLE.md`. Agentul existent pentru asta e `recoltor`
|
||||||
|
(`.opencode/agents/recoltor.md`).
|
||||||
|
5. **Verificare, cu agenti separati de cei care au scris.** Pasul asta nu se
|
||||||
|
sare niciodata — vezi sectiunea de mai jos, „de ce".
|
||||||
|
6. **`.venv/bin/python render_html.py`** (NU `python3` — `markdown` nu e in
|
||||||
|
python-ul de sistem).
|
||||||
|
|
||||||
|
## Doua capcane ale cozilor, platite deja
|
||||||
|
|
||||||
|
- **`transcribe.py` creeaza fisierul `.txt` gol la start.** Un `git add` pe
|
||||||
|
folderul de transcrieri in timpul cozii comite un stub de 0 octeti, iar un
|
||||||
|
agent lansat pe el raporteaza „nimic de recoltat". Ruleaza
|
||||||
|
`find transcripts -size 0` inainte de commit **si** inainte sa dai un fisier
|
||||||
|
unui agent.
|
||||||
|
- **`pgrep -f <ceva>` intr-un wrapper de shell se prinde pe el insusi** —
|
||||||
|
o coada a stat degeaba doua ore asa. Scrie `pgrep -f "[a]udio_fingerprint"`,
|
||||||
|
sau asteapta pe un PID.
|
||||||
|
- Inainte de transcriere, `audio_fingerprint.py` prinde duplicatele de sesiune
|
||||||
|
**pe audio**, deci inainte sa platesti transcrierea. Validat: 1.000 pe
|
||||||
|
duplicat, 0.038 pe sesiuni diferite.
|
||||||
|
|
||||||
|
## Starea lui `17_STRATEGII` — TERMINAT, nu-l redeschide fara motiv
|
||||||
|
|
||||||
|
Toate cele 8 capitole: text nou dupa sablon, diagrame complete, **verificate si
|
||||||
|
reparate** (47 de probleme, 22.09). Cele 92 de diagrame ies curate la
|
||||||
|
`audit_diagrams.py`. Nimic in lucru.
|
||||||
|
|
||||||
|
**Singurele doua lucruri deschise, amandoua intrebari pentru user:**
|
||||||
|
1. `00_harta.md` si `00_SHORTLIST.md` mai au `fisier:linie` in corp — intra si
|
||||||
|
ele in regula sablonului? Nu sunt capitole (unul e cuprins, altul clasament).
|
||||||
|
2. Anexele `A1_risc`, `A2_contradictii`, `A3_intrarea` se reconstruiesc dupa
|
||||||
|
sablon? Nu sunt strategii.
|
||||||
|
|
||||||
|
## Agentii opencode, cine pe ce
|
||||||
|
|
||||||
|
Cheia userului din 22.09 e in `~/.local/share/opencode/auth.json` (cea veche,
|
||||||
|
cu limita lunara atinsa, e `auth.json.bak`). 24 de rulari fara eroare de cota.
|
||||||
|
|
||||||
|
| Agent | Domeniu |
|
||||||
|
|---|---|
|
||||||
|
| `recoltor` | citit o transcriere si scos regulile |
|
||||||
|
| `redactor`, `corector`, `verificator` | documentele din `08_ANALIZA_ZILNICA`, prin `triaj/DECIZII.md` |
|
||||||
|
| `verif_strat` | verifica un capitol din `17_STRATEGII`, categoriile A-F, `edit: deny` |
|
||||||
|
| `corector_strat` | aplica o lista numerotata de reparatii data in prompt |
|
||||||
|
| `grafician` | deseneaza o diagrama noua, dintr-un `.spec.txt` |
|
||||||
|
| `reparator_grafic` | repara un generator existent; n-are voie la niciun `.md` |
|
||||||
|
| `unealta` | repara o unealta Python din radacina; lasa in urma `--selftest` |
|
||||||
|
|
||||||
|
**Impartirea de permisiuni care face ca trei agenti sa lucreze pe acelasi
|
||||||
|
capitol fara sa se calce:** verificatorul nu scrie deloc; corectorul nu atinge
|
||||||
|
`gen/` si nici blocurile `<svg>` din `.md`; reparatorul de grafic nu atinge
|
||||||
|
niciun `.md` si nu ruleaza `substituie.py`. Pipeline-ul (`substituie.py`, apoi
|
||||||
|
`render_html.py`) il rulezi **tu**, o data, la final. Comiti tot tu, pe cai.
|
||||||
|
|
||||||
|
## De ce verificarea nu se sare, pe scurt
|
||||||
|
|
||||||
|
Pe 22.09, cinci verificatori au gasit 47 de probleme in capitole care pareau
|
||||||
|
gata. Tiparul cel mai valoros, prins independent la **trei** capitole: **cifre
|
||||||
|
ilustrative dintr-un SVG de sumar, promovate la „cifrele cursului"**. Testul e
|
||||||
|
ieftin — `grep -n "<cifra>" transcripts/.../<fisier>.txt`; daca transcrierea
|
||||||
|
n-o rosteste, documentul n-are voie sa spuna ca e a cursului. **Aplica-l de la
|
||||||
|
inceput la modulul 5**, nu dupa.
|
||||||
|
|
||||||
|
Celelalte doua tipare care se repeta: **contradictia fabricata** (documentul
|
||||||
|
zice „materialul nu e clar aici" pe un lucru pe care sursa il spune explicit —
|
||||||
|
verifica fiecare intrare din sectiunea de contradictii in sursa) si **eticheta
|
||||||
|
ramasa in urma desenului** (o fraza adevarata despre o versiune veche a
|
||||||
|
diagramei).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user