# EthicLaw — Documento 12 · P0.1

*Fase intermedia a scope chiuso: funzionalità del correttore LMH. Questo documento è un indice con stato, non un archivio: i contenuti vivono negli artefatti indicati e nei documenti permanenti. P0 resta archiviato in Doc 10; ciò che P0.1 scopre si propaga a Doc 04/06/07/08/11 secondo le regole esistenti.*

*Aperto: Sessione 22 · Versione 0.1*

---

## 1. Scope e non-scope

**Dentro:** una misura valida dell'efficacia della testa 3.5 in isolamento (prerequisito del Passo 9), con giudice calibrato sull'oggetto. **Fuori:** efficacia nel regime condizionato (P1), ridisegno del contratto Epistemico→LMH (P1), esperimento Goodhart (Passo 9 vero e proprio, subordinato all'esito di qui), qualunque training nuovo oltre a quanto già esistente.

## 2. Gate di chiusura di P0.1

P0.1 si chiude quando valgono tutte e tre:

1. **Codice guardato:** finestra di anomalia sui canali normalizzati + budget correzioni con base preservata, suite verde. — **FATTO** (Sessione 22: 283 verdi, 10 test di proprietà v2).
2. **Precondizione di calibrazione eseguita** (OP 53): AUC per segnale su set annotato, esclusioni registrate. — **FATTO** (Sessioni 23–24: due bracci, sei celle al caso — esito negativo totale, ma *eseguita*; OP 55).
3. **Riesecuzione OP 52 con verdetto valido**, in qualunque verso, sui soli segnali sopra soglia. — **FATTO** in modalità descrittiva (zero segnali sopra soglia → verdetto sul meccanismo: testa ≡ casuale; OP 56).

Il verdetto negativo (bias additivo confermato pulito, previsione A3) chiude P0.1 esattamente come uno positivo: il gate chiede una *misura valida*, non un esito.

## 3. Coda operativa con stato

| # | Elemento | Stato | Artefatto |
|---|---|---|---|
| 1 | Guardia di norma (v2: finestra + budget) | **Fatto** | `ethiclaw/modules/lmh.py`, `tests/test_guardia_norma.py` |
| 2 | Soglia canale epistemico (Regola 5) | **Chiuso per rovesciamento** — la norma è costruttiva, non esiste soglia da derivare; finestra ±10% depositata (OP 54) | `scripts/misura_norma_condizionamento.py` |
| 3 | Pre-registrazione riesecuzione (spento, 3 bracci, 3 semi) | **Depositata** | `preregistrazione-riesecuzione-op52.md`; Doc 06/10 |
| 4 | Set di calibrazione: generazione | in corso | `scripts/genera_set_calibrazione.py` → `calibrazione/annotazione.csv` |
| 5 | Annotazione umana lotto 1 | **Fatto** — esito: nessun segnale calibrabile per campionamento (validi 7–90, violazioni 0–3; S2: 90 validi, 0 violazioni) | `calibrazione/annotazione.csv` |
| 5b | Sonda di elicitazione mirata | **Fatto** — mira refutata (violazioni quasi tutte fuori bersaglio; causa: deriva del generatore); troncamento verificato e scaricato come confondente | `emendamento1-sonda-calibrazione.md` |
| 5c | Pool di calibrazione consolidato (230 righe; ripassata S5: concordanza 97,4%, 18 violazioni superstiti) | **Fatto** | `calibrazione-pool/pool.csv` |
| 6 | AUC a due bracci (Em. 2b: modulare + monolite 341M, pre-registrato) | **Fatto** — sei celle al caso: degrado di classe (OP 55) | `risultati/auc-calibrazione.json` |
| 7 | Riesecuzione descrittiva (3 bracci, trail asserito) | **Fatto** — testa ≡ casuale a pari norma; norma raw 15,36 quasi costante (OP 56) | `risultati/riesecuzione-op52.json` |
| 8 | Registrazione esiti e propagazione | **Fatto** — OP 55/56 in Doc 06; Doc 07/08/10/11 allineati | — |
| 9 | `git init` + primo commit | da fare (30 s) | — |
| 10 | Manifest versionato (hash checkpoint + dataset al dataloader) | da fare (ereditato da P0) | — |

## 4. Rischi propri di P0.1

- **Segnali non calibrabili a questa scala** (classi sotto minimo): esito dichiarato nel protocollo, non un blocco — ma se *tutti* i segnali risultano non calibrabili, la riesecuzione non ha verdetto possibile e P0.1 si chiude con quel risultato, propagato a Doc 08 §4.3 come vincolo sul disegno P1. *Aggiornamento (Em. 2): realizzato per S1/S2 — chiusi non calibrabili con claim completo (campionamento + elicitazione); S3/S4/S5 procedono via pooling.*
- **Auto-annotazione**: annotatore unico = ricercatore; mitigazioni nel protocollo (cecità, un passaggio, duplicati con soglia d'accordo 8/10). Limite da dichiarare in Paper 1.
- **Deriva di scope**: ogni proposta che non serve al gate §2 va in coda P1, non qui.

---

*Manutenzione: solo la tabella §3 e questo footer si aggiornano; le scoperte vanno nei documenti permanenti. Chiusura: alla terza condizione del gate, questo documento riceve una riga finale con l'esito e si archivia.*

---

**CHIUSURA (Sessione 24).** Gate raggiunto su tutte e tre le condizioni. Esito di P0.1: *misura valida ottenuta, in negativo su entrambi i piani* — il correttore in isolamento non esprime direzione appresa (indistinguibile dal casuale a pari norma, OP 56), e nessun giudice addestrato su scenari — modulare o monolitico — discrimina il testo generato a questa scala (OP 55). Attivato per P1: training dell'Etico su testo generato annotato da umani (Doc 07 ruolo 4, Doc 08 §4.3, requisito F1–F2). Restano in coda ereditati: `git init` (riga 9) e manifest versionato (riga 10). Documento archiviato.
