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
49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
---
|
|
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.
|