# 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: pool di 230 frammenti, due bracci pre-registrati, sei celle al caso — OP 55; poi ridimensionato il 2026-08-28: potenza < 0,5, «nessuna capacità rilevata»).
3. **Riesecuzione OP 52 con verdetto valido**, in qualunque verso, sui soli segnali sopra soglia. — **FATTO** in modalità descrittiva, nessun segnale sopra soglia (Sessione 24: testa 3.5 ≡ vettore casuale a pari norma — 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 | **Fatto** (Sessione 23: lotto cieco + sonda mirata + ripassata S5 → pool di 230 frammenti) | `scripts/genera_set_calibrazione.py`, `scripts/genera_sonda_calibrazione.py` → `calibrazione/`, `calibrazione-sonda/`, `calibrazione-pool/pool.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 (Emendamento 1, regola d'arresto ≥10%) | **Fatto** — esito: l'elicitazione funziona ma è diffusa; l'assunzione di targeting è refutata dai suoi stessi conteggi off-target (OP 55) | `emendamento1-sonda-calibrazione.md`, `calibrazione-sonda/` |
| 6 | Script di calcolo calibrazione (accordo, AUC, esclusioni) | **Fatto** | `scripts/auc_calibrazione.py` → `risultati/auc-calibrazione.json` |
| 7 | Script riesecuzione (3 bracci, trail come asserzione) | **Fatto** | `scripts/riesecuzione_op52.py` (adatta `scripts/efficacia_op15.py`) |
| 8 | Run riesecuzione + registrazione esito | **Fatto** — OP 55 (calibrazione: sei celle al caso; ridimensionato 2026-08-28) e OP 56 (riesecuzione descrittiva: nessuna direzione appresa), Sessioni 23–24 | `risultati/auc-calibrazione.json`, `risultati/riesecuzione-op52.json`; Doc 06 OP 55–56 |
| 9 | `git init` + primo commit | **Fatto** — 2026-09-17, commit `56240fc` (264 file, `.pt` esclusi) | `~/ethiclaw/.git` |
| 10 | Manifest versionato (hash checkpoint + dataset al dataloader) | **Fatto in avanti** — ogni lotto dal Passo 1 porta manifest con hash del checkpoint; il pool P0.1 resta ricostruito da codice (Doc 10, nota di provenienza) | `passo1/manifest.json`, `pra/manifest.json` |

## 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.
- **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 (Sessioni 23–24; riga registrata in ritardo il 2026-09-18 — la chiusura era finora registrata solo in Doc 06 e Doc 10): le tre condizioni del gate §2 sono soddisfatte. (1) Codice guardato — fatto (283 verdi). (2) Precondizione di calibrazione OP 53 eseguita — pool di 230 frammenti generati, annotazione umana in tre atti, due bracci pre-registrati prima di ogni punteggio: AUC al caso su tutti i segnali calibrabili, nessun giudice — Etico modulare o monolite 341M — discrimina il testo generato a questa scala (OP 55). (3) Riesecuzione OP 52 con verdetto valido, in modalità descrittiva: la testa 3.5 in isolamento è indistinguibile da un vettore casuale a pari norma (OP 56). P0.1 si chiude; il prerequisito del Passo 9 è chiuso in negativo con misura valida.*

> *Dated pointer (2026-08-29; applied 2026-09-18): closure text reflects the Session 24 verdict as issued; the OP 55 amendment (2026-08-28) withdraws "class-level failure, with proof" — status: no capability detected, power-limited, gold unstable at the NA↔violation boundary. The P1 activation line below is re-qualified per A1.8.3.*

*Attivato per P1: training dell'Etico su testo generato annotato da umani (Doc 07, ruolo 4; Doc 08 §4.3) — linea prudenziale e fallback del ramo Flat, non conseguenza necessaria di un fallimento di classe dimostrato (A1.8.3). Documento archiviato.*
