audit_diagrams: intelege <g transform=translate>, si nu mai inventeaza SCARA GRESITA
Cauza celor 46 de raportari: unealta citea coordonatele brute ale etichetelor, deci compara panouri stivuite ca si cum ar fi in acelasi sistem. Acum tine o stiva de translatii la parsare si scoate coordonate absolute, inclusiv pentru <g>-uri imbricate. Si verificarea de scara ruleaza doar pe un triplet real SL/intrare/TP, nu pe orice trei perechi linie+eticheta. 46 -> 7 pe cele 92 de diagrame, fara nicio raportare noua. Are --selftest, cu cazul care picase si cu unul care trebuie sa ramana prins. Doua dintre cele 7 ramase sunt probleme reale, nestiute pana acum: atmi_ansamblu are un caption de 792 px intr-un viewBox de 720, iar la selectia_proximitate se calca eticheta sagetii cu titlul. Cinci sunt tot fantome, din alt defect (pragul de inaltime ignora font-size) - raportat de agent, nereparat inca. Spec-ul si docstring-ul lui atmi_exemplu erau si ele ramase in urma: descriau un desen weekly de 38 de candele, desenul e lunar, de 31. Specificatiile .spec.txt: cerute doar cand desenul il face alt agent decat cel care scrie capitolul. Sunt o predare intre doi agenti, nu arhiva. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
@@ -81,7 +81,11 @@ Pentru fiecare diagramă de care are nevoie capitolul, faci două lucruri:
|
||||
|
||||
1. Pui în `.md`, exact acolo unde trebuie să apară desenul, linia:
|
||||
`<!-- DIAGRAMA: <cheie> -->`
|
||||
2. Scrii `gen/strategii/<slug>_<cheie>.spec.txt`, care conține:
|
||||
2. Scrii `gen/strategii/<slug>_<cheie>.spec.txt` — **doar dacă desenul îl face
|
||||
alt agent** (un `grafician`, care citește spec-ul ca sursă). Dacă scrii tu
|
||||
și generatorul, sari peste: specificația e o predare între doi agenți, nu
|
||||
un document de arhivă, iar generatorul o conține oricum. Când îl scrii, el
|
||||
conține:
|
||||
- **tipul**: `PRET` (candele, entry/SL/TP — trece prin `svg_candles`) sau
|
||||
`CONCEPT` (funnel, matrice, cadrane, tabel vizual);
|
||||
- ce arată diagrama, în cuvinte;
|
||||
|
||||
48
.opencode/agents/unealta.md
Normal file
48
.opencode/agents/unealta.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: Repară sau extinde o unealtă Python din rădăcina proiectului, cu selftest
|
||||
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. Repari **o singură unealtă**, pe care ți-o
|
||||
numește promptul. Uneltele stau în rădăcina proiectului (`audit_diagrams.py`,
|
||||
`check_duplicates.py`, `svg_candles.py`, `render_html.py`, …).
|
||||
|
||||
**Atingi doar fișierul uneltei** și, dacă e nevoie, un fișier de test lângă
|
||||
el. **Nu atinge niciun `.md`**, niciun generator din `gen/`, niciun SVG.
|
||||
**Fără `git add` / `commit` / `push`.**
|
||||
|
||||
## Cum lucrezi
|
||||
|
||||
1. Citește unealta **întreagă** înainte să schimbi ceva. Sunt fișiere mici.
|
||||
2. Înțelege defectul pe un caz concret: ia un fișier real pe care unealta se
|
||||
poartă greșit și arată, cu o rulare, ce raportează acum.
|
||||
3. **Fă cea mai mică schimbare care rezolvă cauza**, nu simptomul. Fără
|
||||
clase noi, fără opțiuni de configurare, fără abstracții pentru „mai
|
||||
târziu". Dacă o funcție există deja în fișier și face jumătate din treabă,
|
||||
extinde-o; nu scrie a doua, paralelă.
|
||||
4. **Lasă în urmă o verificare care rulează.** Un `--selftest` în aceeași
|
||||
unealtă (tiparul din `check_duplicates.py` și `svg_candles.py`), cu
|
||||
`assert`-uri pe un exemplu minimal construit în cod: cazul care dădea
|
||||
greșit înainte, plus un caz care trebuie să rămână semnalat. Fără
|
||||
framework de teste, fără fixture-uri.
|
||||
5. Verifică pe repo-ul real: rulează unealta pe fișierele pe care promptul ți
|
||||
le numește și **compară numărul de raportări înainte și după**. O unealtă
|
||||
care nu mai raportează nimic pe nimic e tot stricată, doar invers.
|
||||
|
||||
## RAPORT, scurt
|
||||
|
||||
Ce era cauza (o propoziție), ce ai schimbat, ce verifică selftest-ul și cum
|
||||
se comportă pe fișierele reale: câte raportări înainte, câte după, și
|
||||
**care dintre cele rămase sunt reale**. Dacă ai găsit un al doilea defect pe
|
||||
care nu ți l-a cerut nimeni, raportează-l, nu-l repara.
|
||||
Reference in New Issue
Block a user