cele 7 diagrame din 11_selectia

Sunt diagrame conceptuale - funnel, bara de scor, matrice, cele patru
cadrane, Trinity, sectoare - nu grafice de pret, deci nu trec prin
svg_candles / pchart, care raman obligatorii doar pentru candele si
entry/SL/TP. Agent nou, diagramist, cate unul per diagrama, fiecare cu
generatorul lui in gen/selectia/; substitutia in .md o face
gen/az_selectia.py, ca sa nu scrie sapte agenti in acelasi fisier.

Regula de continut a agentului: fiecare cifra si eticheta trebuie sa
existe in document sau in citate. Ce nu reiese din sursa e scris pe
desen ca atare - ordinea celor 7 sectoare, ce se intampla sub 100%
relative volume. Fara semafor rosu/verde, care nu e in sursa.

Verificat cu ochii pe doua diagrame randate in browser.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
Claude Agent
2026-09-18 16:52:01 +00:00
parent 7873f3253a
commit 3a6da7a916
28 changed files with 2131 additions and 14 deletions

View File

@@ -0,0 +1,49 @@
---
description: Desenează o diagramă conceptuală (nu grafic de preț) ca SVG, dintr-o specificație
mode: all
model: opencode-go/deepseek-v4.1-flash
temperature: 0.1
permission:
read: allow
glob: allow
grep: allow
list: allow
edit: allow
bash: allow
webfetch: deny
websearch: deny
task: deny
---
Lucrezi în /workspace/atm-curs-dl. Desenezi **o singură** diagramă, într-un
singur fișier, al tău: `gen/selectia/<cheie>.py`, care scrie
`gen/selectia/<cheie>.svg`.
Diagramele tale sunt **conceptuale** — funnel, matrice, cadrane, coloane
comparate. Nu sunt grafice de preț. De aceea **nu** folosești `svg_candles`
și `pchart`: alea desenează candele, și orice diagramă cu candele sau cu
entry/SL/TP trebuie să treacă prin ele. A ta nu.
REGULA DE CONȚINUT, cea mai importantă: fiecare cifră și fiecare etichetă din
desen trebuie să existe în documentul în care intră diagrama sau în citatele
lui. Un desen inventează mai ușor decât un paragraf, pentru că arată
convingător. Dacă specificația cere un prag, un procent sau un cod de culoare
cu înțeles (roșu/verde ca semafor) pe care textul nu-l susține, îl lași afară
și spui în raport de ce.
FORMĂ: lățime 700, `font-family: system-ui, sans-serif`, minim 13px, text
negru pe alb, fără umbre și fără gradienți. Accente, dacă ai nevoie:
`#777` gri, `#c00` roșu, `#188a3e` verde, `#1a5fb4` albastru, `#b06000`
portocaliu. Pagina se citește și pe telefon: nu înghesui text sub 13px și nu
lăsa etichete care se suprapun.
VERIFICARE, în sarcina ta: rulează generatorul, apoi **citește SVG-ul
rezultat** și confirmă că fiecare etichetă are coordonate în interiorul
pânzei, că nu se suprapun două texte pe aceeași poziție și că toate cifrele
sunt cele din document. Dacă se bat, rearanjezi și rulezi din nou. Un
generator care rulează fără eroare nu e dovadă că desenul se citește.
INTERZIS: alt fișier decât generatorul tău și SVG-ul lui (nu atingi `.md`-ul,
nu atingi generatoarele altora), `git commit`, sub-agenți.
RAPORT scurt: ce arată diagrama, ce cifre ai folosit și de unde vin, ce ai
lăsat afară din specificație și de ce, și ce ai verificat citind SVG-ul.

View File

@@ -0,0 +1,7 @@
funnel Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/funnel.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/funnel.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:funnel--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/funnel.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/funnel.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
scor Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/scor.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/scor.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:scor--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/scor.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/scor.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
pe_venit Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/pe_venit.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/pe_venit.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:pe_venit--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/pe_venit.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/pe_venit.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
cash_flow Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/cash_flow.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/cash_flow.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:cash_flow--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/cash_flow.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/cash_flow.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
cadrane Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/cadrane.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/cadrane.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:cadrane--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/cadrane.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/cadrane.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
trinity Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/trinity.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/trinity.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:trinity--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/trinity.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/trinity.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
sectoare Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/sectoare.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/sectoare.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:sectoare--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/sectoare.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/sectoare.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.

View File

@@ -0,0 +1,4 @@
cash_flow Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/cash_flow.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/cash_flow.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:cash_flow--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/cash_flow.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/cash_flow.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
cadrane Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/cadrane.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/cadrane.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:cadrane--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/cadrane.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/cadrane.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
trinity Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/trinity.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/trinity.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:trinity--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/trinity.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/trinity.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.
sectoare Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: gen/selectia/sectoare.py . Nu atinge niciun alt fisier - nici documentul .md, nici generatoarele altora. Ce desenezi: citeste specificatia cu cat gen/selectia/sectoare.spec.txt . Contextul in care intra diagrama: deschide summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul <!--SVG:sectoare--> (grep -n il gaseste) si citeste 60 de linii in jur - diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si spune in raport. Nu inventa praguri, procente sau culori cu inteles (rosu/verde ca semafor) care nu sunt in sursa. Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il scrie in gen/selectia/sectoare.svg . NU folosi svg_candles / pchart - alea sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, #b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text sub 13px si nu lasa etichete care se suprapun. VERIFICARE, in sarcina ta, nu optionala: ruleaza .venv/bin/python gen/selectia/sectoare.py , apoi deschide SVG-ul rezultat si CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie si ca toate cifrele sunt cele din document. Daca doua etichete se bat, rearanjeaza si ruleaza din nou. Daca ajungi la ~250k tokeni, opreste-te si raporteaza. INTERZIS: alt fisier, git commit, sub-agenti. RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai lasat afara din spec si de ce, si ce ai verificat citind SVG-ul.

View File

@@ -0,0 +1,67 @@
#!/usr/bin/env python3
"""Pregateste cele 7 diagrame din 11_selectia_simbolului:
- inlocuieste <!--DIAGRAMA: spec--> cu perechea de markeri <!--SVG:cheie--><!--/SVG-->,
pastrand spec-ul intr-un fisier separat (specs/<cheie>.txt), ca sa nu-l pierdem;
- scrie .opencode/lot_diagrame.txt, cate o sarcina per diagrama.
Fiecare agent scrie DOAR gen/selectia/<cheie>.py, care produce
gen/selectia/<cheie>.svg. Substitutia in .md o face orchestratorul cu
gen/az_selectia.py, ca sa nu scrie sapte agenti in acelasi fisier.
"""
import pathlib
import re
MD = pathlib.Path("summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md")
OUT = pathlib.Path("gen/selectia")
OUT.mkdir(parents=True, exist_ok=True)
CHEI = ["funnel", "scor", "pe_venit", "cash_flow", "cadrane", "trinity", "sectoare"]
md = MD.read_text(encoding="utf-8")
specs = re.findall(r"<!--DIAGRAMA: (.*?)-->", md, re.S)
assert len(specs) == len(CHEI), f"{len(specs)} marcaje, {len(CHEI)} chei"
for cheie, spec in zip(CHEI, specs):
(OUT / f"{cheie}.spec.txt").write_text(spec.strip() + "\n", encoding="utf-8")
md = md.replace(
f"<!--DIAGRAMA: {spec}-->", f"<!--SVG:{cheie}-->\n<!--/SVG-->", 1
)
MD.write_text(md, encoding="utf-8")
P = (
"Lucrezi in /workspace/atm-curs-dl. Scrii UN SINGUR fisier: "
"gen/selectia/{cheie}.py . Nu atinge niciun alt fisier - nici documentul .md, "
"nici generatoarele altora. "
"Ce desenezi: citeste specificatia cu cat gen/selectia/{cheie}.spec.txt . "
"Contextul in care intra diagrama: deschide "
"summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md la marcajul "
"<!--SVG:{cheie}--> (grep -n il gaseste) si citeste 60 de linii in jur - "
"diagrama trebuie sa spuna ce spune textul de acolo, cu aceleasi cifre. "
"Fiecare cifra si fiecare eticheta din diagrama trebuie sa existe in text sau "
"in citatele lui; daca spec-ul cere ceva ce textul nu sustine, lasa afara si "
"spune in raport. Nu inventa praguri, procente sau culori cu inteles "
"(rosu/verde ca semafor) care nu sunt in sursa. "
"Cum scrii: Python fara dependinte, care construieste SVG-ul ca string si il "
"scrie in gen/selectia/{cheie}.svg . NU folosi svg_candles / pchart - alea "
"sunt pentru grafice de pret, iar asta nu e un grafic de pret. Latime 700, "
"font-family system-ui / sans-serif, font-size minim 13, text negru pe fundal "
"alb, fara umbre si fara gradienti. Culorile din celelalte generatoare, daca "
"ai nevoie de accente: #777 gri, #c00 rosu, #188a3e verde, #1a5fb4 albastru, "
"#b06000 portocaliu. Pagina se citeste si pe telefon, deci nu inghesui text "
"sub 13px si nu lasa etichete care se suprapun. "
"VERIFICARE, in sarcina ta, nu optionala: ruleaza "
".venv/bin/python gen/selectia/{cheie}.py , apoi deschide SVG-ul rezultat si "
"CITESTE-L (cat / grep) ca sa confirmi ca fiecare eticheta are coordonate in "
"interiorul panzei (viewBox), ca nu se suprapun doua texte pe aceeasi pozitie "
"si ca toate cifrele sunt cele din document. Daca doua etichete se bat, "
"rearanjeaza si ruleaza din nou. "
"Daca ajungi la ~250k tokeni, opreste-te si raporteaza. "
"INTERZIS: alt fisier, git commit, sub-agenti. "
"RAPORT scurt: ce arata diagrama, ce cifre ai folosit si de unde vin, ce ai "
"lasat afara din spec si de ce, si ce ai verificat citind SVG-ul."
)
pathlib.Path(".opencode/lot_diagrame.txt").write_text(
"\n".join(f"{c}\t{P.format(cheie=c)}" for c in CHEI) + "\n"
)
print(len(CHEI), "sarcini; markerii sunt in .md, spec-urile in gen/selectia/")