diff --git a/docs/conformita-coding.md b/docs/conformita-coding.md index c3df778..dd9e379 100644 --- a/docs/conformita-coding.md +++ b/docs/conformita-coding.md @@ -1,5 +1,7 @@ # Conformità coding — Periscope intero +Percorso locale: `/Users/michelebigi/Development/periscope/docs/conformita-coding.md`. + Costituzione: `docs/development/CODING_CONSTITUTION.md` (*code that fits in your head*). **Per sezione**, non per funzione: conforme sì / no e perché. Taglio 2.62.1 + questa macro-fase (libreria come porta, test riorganizzati, AF+AI extra). Auth/JWT/users: **non toccati**; la sezione esiste e viene giudicata, non modificata. Giudizio: **conforme** = un ingegnere legge la sezione senza ricostruire un sistema nascosto. **Non conforme** = troppe responsabilità, stato implicito, eccezioni ingoiate, o semantica a rischio. Un file lungo può essere conforme se il flusso è ovvio; uno corto no se fa tre mestieri. @@ -64,7 +66,7 @@ Non è DRC (clearance/track_width/annular restano KiCad). FEM assente: **conform ## 13. Pipeline orchestrazione (`pipeline.py`, `pcb_pipeline.py`, job) -**Non conforme.** `pipeline.py` ~1522 righe: stage, storage, LLM, copy-in-library, graph. `pcb_pipeline.py` è più lineare (ensure_graph → parse → checks → AI → report) e si segue. Job/SSE sono un secondo asse di stato. Flusso reale: sì, ma non locale. +**Non conforme.** `pipeline.py` ~1522 righe: stage, storage, LLM, copy-in-library, graph. `pcb_pipeline.py` è più lineare (ensure_graph → parse → checks → **af_ai additivo** → AI → report) e si segue. Job/SSE sono un secondo asse di stato. Flusso reale: sì, ma non locale. `run_pcb_checks` 2.62.1 non è stato svuotato. ## 14. Storage (`storage.py`, GCS) diff --git a/docs/rust-criteri.md b/docs/rust-criteri.md index 9edd232..a141ba6 100644 --- a/docs/rust-criteri.md +++ b/docs/rust-criteri.md @@ -1,5 +1,7 @@ # Criteri Rust — Periscope +Percorso locale: `/Users/michelebigi/Development/periscope/docs/rust-criteri.md`. + Costituzione: Python è il default. Rust **non** è un default. Questo documento dice *quando* un pezzo può entrare in Rust. Non sceglie ancora un pezzo. **Niente `rustup`, crate, né FFI finché una riga sotto non è scelta *e* misurata.** FEM / OpenEMS / field solver: fuori dal prodotto. Non sono candidati Rust.