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:
49
.opencode/agents/diagramist.md
Normal file
49
.opencode/agents/diagramist.md
Normal 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.
|
||||
7
.opencode/lot_diagrame.txt
Normal file
7
.opencode/lot_diagrame.txt
Normal 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.
|
||||
4
.opencode/lot_diagrame_rest.txt
Normal file
4
.opencode/lot_diagrame_rest.txt
Normal 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.
|
||||
67
.opencode/mk_lot_diagrame.py
Normal file
67
.opencode/mk_lot_diagrame.py
Normal 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/")
|
||||
Reference in New Issue
Block a user