Files
atm/calibration/AGENTS.md
2026-06-13 11:51:36 +03:00

46 lines
1.6 KiB
Markdown

# calibration — Calibration Corpus
## Purpose
Corpus persistent, auto-suficient pentru clasificarea culorilor și regresia FSM.
Sursa de adevăr pentru ce „vede" detectorul.
## Ownership
`frames/`, `calibration_labels.json`, `scenarios.json`.
## Local Contracts
- **`frames/`** — PNG raw `{ts}_{color}.png` scrise **automat** de live loop la
fiecare schimbare de culoare. Filename = culoarea detectată, **poate fi greșită**.
Nu trata filename-ul ca ground truth.
- **`calibration_labels.json`** — ground truth **manual**. Gate offline pentru
`atm validate-calibration`. Pui culoarea pe care ai văzut-o TU pe chart, nu cea
din filename.
- **`scenarios.json`** — secvențe FSM pentru `tests/test_scenarios_regression.py`.
## Work Guidance
**Workflow după sesiune:** review frame-urile noi din `frames/` → adaugi entry-uri
în `calibration_labels.json` cu culoarea reală → rulezi validate-calibration.
### Palette gotcha (recalibrare 2026-04-21)
Indicatorii M2D pictează cele patru culori bright la saturație near-pure:
turquoise `(0,253,253)`, yellow `(253,253,0)`, light_green `(0,255,0)`,
light_red `(255,0,0)`. Dacă Tk-wizard eșantionează un pixel ușor desaturat,
clasificatorul întoarce `UNKNOWN` (distanță > tolerance=60) → FSM nu vede trigger
→ stuck în PRIMED → scheduler polls la infinit. **Mereu** rulează
validate-calibration după recalibrare. Config activ: vezi `configs/current.txt`.
## Verification
```bash
atm validate-calibration calibration/calibration_labels.json # color gate offline
pytest tests/test_scenarios_regression.py -v
```
## Child DOX Index
(none — leaf)