# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Stato [genera.py](genera.py) è lo script unico (`python genera.py config.toml --seed 42` nell'ambiente `.venv`, creato con `uv venv`; scrive in `output/`). [grafico.py](grafico.py) disegna un CSV di output (script separato, dipende da matplotlib; `genera.py` resta con solo numpy); `genera.py` implementa [docs/SPEC.md](docs/SPEC.md), unica fonte di verità su output, modello, CLI, errori e controlli di accettazione. Leggila per intero prima di scrivere codice. Documentazione, commenti e messaggi di errore sono in italiano. ## File - [config.toml](config.toml): esempio e unica fonte dei valori numerici. Le unità sono nei suffissi delle chiavi (`_s`, `_ms`, `_c`, `_hz`). - [dati.csv](dati.csv): registrazione reale del sensore IR (`temp_amb IR [C]`, `temp_obj IR [C]`, più roll/jolt). Riferimento per ricalibrare `sigma_c`, `wander_*`, `amb_*`; non è un output del generatore e ha formato diverso. ## Vincoli facili da perdere - `ΔT` = T − ambiente, calcolato **dopo** rumore e quantizzazione di entrambi i canali, mai dalla T vera. - Nessun valore numerico nello script: chiave mancante ⇒ exit 1. - Un solo `numpy.random.Generator` seminato da `--seed`, così stesso seed + stessa config ⇒ file identico. - Verifica l'implementazione con i controlli di §5 di SPEC.md sulla config d'esempio.