# Agent Report - Anderson Comparable Null Audit
**Date**: 2026-05-16 11:35
**Piano**: 132
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT - Sullo stesso perimetro compatto Anderson, stesso observable e stesso `N=512`, il null endpoint-preserving ricostruisce il conteggio osservato in `36/512` trial (`raw_p=0.070312500`, Wilson 95% `[0.051218024, 0.095806720]`), mentre il full feature-scramble lo ricostruisce in `272/512` (`raw_p=0.531250000`, Wilson 95% `[0.487953078, 0.574081486]`). Il confronto L2 e' chiuso come unita' comparabile; il boundary fisico non si promuove perche' `W=20` resta rinominato dal null endpoint-preserving in `54/512` trial.
observables_registry: 1.0.0-2026-05-06
observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, wigner_poisson_like_weight, mean_ipr, participation_entropy, two_reader_all_sizes, raw_p, add_one_p, wilson_95]
**observable_contract**: claim=i null sono confrontabili solo se condividono observable, perimetro righe e N; observable=conteggio cross-size di righe `stable_graph_bridge+classical_intermediate`; operator=righe compatte Anderson 3D dal run 11:17 classificate dallo stesso reader kNN/classico; generator=stesse righe sorgente, due operatori null che differiscono solo per struttura preservata; denominator=`512` trial per null su 11 righe per size; p_value_definition=right-tail `raw_p=k/N`, `add_one_p=(k+1)/(N+1)`, con `k` = trial null con conteggio cross-size >= osservato; non_possible=chiamare un null piu' restrittivo se perimetro o N cambiano; not_tested=raw multi-seed reader, nuovi Hamiltoniani, `L>=7`, perimetro completo 8 GUE / 5 Poisson.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + QxG continuo/discreto + nodo BOUNDARY + feedback falsifier L2 sui null comparabili.
- **Dipolo / punto-zero**: null permissivo / null fisico. Punto-zero: la stessa riga disorder prima della nominazione e prima della scelta del null.
- **Piano superiore**: topologia del bordo row-aligned; il bordo vive solo se l'operatore nullo non puo' ricostruire la stessa molteplicita' nello stesso spazio di lettura.
- **Operatori laterali scelti**: boundary operator, graph rewiring, candidate-only shuffle.
- **Contaminazione cognitiva**: CE-0001/KSAR usata come reiterazione del kernel 11:24 sullo stesso spazio; CE-0117/Cascata applicata come vincolo: il risultato del falsifier entra nel seme operativo del ciclo e corregge il nodo regressivo, non il claim.
- **Proto-ipotesi**: la restrittivita' di un null non e' proprieta' del nome del null; e' proprieta' misurabile solo a perimetro, observable e N fissati.
- **Possibile/non-possibile**: possibile = distinguere quantitativamente full-scramble ed endpoint-preserving sul perimetro compatto; non-possibile = promuovere `W=20` finche' il null endpoint-preserving lo rinomina con frequenza non-zero.
- **Proiezione**: rieseguo entrambi i null su `tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.json`, usando le stesse righe compatte e `512` trial ciascuno.
- **Movimento A->M->B**: fisico A = Anderson 3D mobility edge; matematica M = confronto omogeneo di operatori null; fisico B = criterio di costo per decidere se lanciare large-L. Il ritorno fisico resta vincolo, non scoperta.

## Aderenza alla direzione
- `relation`: `deliberate_counter_perimeter`
- `why`: resta su Anderson per chiudere il check obbligatorio del falsifier 11:24: stessi null, stesso perimetro, stesso N e stessa observable prima di interpretare restrittivita'.
- `not_drift`: non usa Sturmian, phi, V_c o fit locali; attacca il nodo regressivo `null_first -> candidate_name -> physical_return` emerso dentro il frame BOUNDARY cross-dominio.
- `return_criterion`: tornare al perimetro vivo 8 GUE / 5 Poisson quando il contratto dei null comparabili e' stabilizzato; oppure chiudere Anderson se anche il raw-reader endpoint-preserving rinomina `W=20`.
- `seed_residue`: restano non testati il perimetro completo 8 GUE / 5 Poisson, raw multi-seed Anderson e `L>=7`.
- `why_not_drift`: il sotto-perimetro e' regressivo perche' corregge il confronto non omogeneo segnalato dal falsifier, senza promuovere un nuovo candidato.

## Re-discovery audit
- **Baseline noto piu vicino**: Anderson localization, mobility edge 3D, crossover Wigner-Dyson/Poisson, Brody interpolation, finite-size scaling.
- **Cosa assorbe il baseline**: righe intermedie vicino alla transizione, dipendenza da size piccole, sensibilita' a feature compatte.
- **Cosa resta Lab-specific**: contratto null-first comparabile con due operatori null sullo stesso observable row-aligned.
- **Separazione**: `two_reader_boundary_confirmed=2` nel perimetro compatto; `graph_only_residue` non sommato; `scope_change_declared=Anderson_compact_null_comparison`; `graph_baseline_audit=kNN stability / row-feature rewiring`.

## Claim Under Test
> Nel perimetro compatto Anderson, il confronto tra null e' interpretabile solo se full feature-scramble ed endpoint-preserving candidate-only misurano lo stesso conteggio cross-size con lo stesso numero di trial.

## Question
La riduzione osservata nel null endpoint-preserving era effetto del null o effetto del cambio di perimetro?

## Experiment Design
- **Script**: `tools/exp_anderson3d_comparable_null_audit.py`.
- **Run**: `python tools/exp_anderson3d_comparable_null_audit.py --out tools/data/anderson3d_comparable_null_audit_20260516_1135.json --null-trials 512`.
- **Source**: `tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.json`.
- **Perimetro**: righe compatte mediane del run 11:17, `L=5,6`, 11 disorder rows per size.
- **Observed observable**: intersezione cross-size di righe `stable_graph_bridge+classical_intermediate`.
- **Null A**: endpoint-preserving candidate-only; conserva poli metallic/localized e permuta feature solo fra righe `mobility_candidate`.
- **Null B**: full feature-scramble; permuta feature su tutte le righe compatte della size.
- **P-value**: right-tail; `raw_p=k/N`, `add_one_p=(k+1)/(N+1)`; Wilson 95% riportato sul count binomiale `k/N`.
- **Non testato**: non misura nuovi autovalori, raw multi-seed reader, exponent critico o large-L.

## Results
| measure | observed | null k/N | raw_p | add_one_p | Wilson 95% | max null | mean null | lettura |
|---|---:|---:|---:|---:|---|---:|---:|---|
| endpoint-preserving candidate-only | 2 | 36/512 | 0.070312500 | 0.072124756 | [0.051218024, 0.095806720] | 2 | 0.533203125 | riduce la ricostruzione ma non azzera |
| full feature-scramble | 2 | 272/512 | 0.531250000 | 0.532163743 | [0.487953078, 0.574081486] | 4 | 1.623046875 | ricostruisce spesso il conteggio |
| difference full - endpoint | n/a | n/a | 0.460937500 | n/a | [0.412369646, 0.509505354] | n/a | n/a | differenza comparabile nello stesso perimetro |

| W row | endpoint-preserving named hits | full-scramble named hits | lettura |
|---:|---:|---:|---|
| 16.00 | 33/512 | 117/512 | riga osservata ricostruibile |
| 20.00 | 54/512 | 116/512 | candidato non-zero nel null fisico |
| 16.50 | 37/512 | 112/512 | intermittente nel deposito, ricostruibile |

| size | observed compact two-reader rows |
|---:|---|
| L=5 | `W=16.00`, `W=20.00` |
| L=6 | `W=16.00`, `W=16.50`, `W=20.00` |

## Key Findings
1. Verificato: sullo stesso perimetro e con lo stesso `N=512`, endpoint-preserving ricostruisce meno del full feature-scramble: `36/512` contro `272/512`.
2. Verificato: gli intervalli binomiali non si sovrappongono; la differenza `raw_p_full - raw_p_endpoint = 0.460937500` ha intervallo approssimato `[0.412369646, 0.509505354]`.
3. Verificato: il risultato L2 precedente non era formulabile come confronto; ora lo e', ma solo nel perimetro compatto.
4. Verificato: `W=20` non e' zero sotto endpoint-preserving: `54/512` rinomine cross-size.
5. Inferito dal perimetro: il null endpoint-preserving e' un filtro piu' duro, non una prova fisica del boundary.

## Verdict
CONSTRAINT

Il nodo regressivo L2 e' chiuso: a parita' di perimetro, observable e N, il null endpoint-preserving e' piu' restrittivo del full feature-scramble. La promozione fisica resta bloccata perche' il candidato `W=20` sopravvive come rinomina non-zero nel null che preserva i poli.

## Bicono della scoperta
- **Due radici**: differenza comparabile fra null; rinomina non-zero del candidato.
- **Singolare**: riga disorder prima del nome e prima del null.
- **Invariante di passaggio**: stesso observable, stesso perimetro, stesso N.
- **Campo di possibilita**: possibile = usare endpoint-preserving come pre-filtro di costo; non-possibile = pagare large-L per salvare `W=20` prima del raw-reader null.

## Consecutio
Ripetere l'endpoint-preserving sul raw multi-seed reader del ciclo 11:17, non sulle mediane compatte. Se `W=20` resta rinominato, Anderson si chiude come proprieta' del lettore. Se va a zero, allora il costo `L>=7` diventa giustificato.

## Ricadute pratiche
ssp_value: yes. `tools/exp_anderson3d_comparable_null_audit.py` diventa strumento riusabile per confrontare null solo dopo allineamento di perimetro, observable e N.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; BOUNDARY seguito come contro-perimetro regressivo per obbligo falsifier.
- `python -m py_compile tools/exp_anderson3d_comparable_null_audit.py` completato.
- Run completato: `tools/data/anderson3d_comparable_null_audit_20260516_1135.json`.
- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
- Nessun update del seme.
- Nessuna promozione e nessun public sync.

## Files
- Script: `tools/exp_anderson3d_comparable_null_audit.py`
- Data: `tools/data/anderson3d_comparable_null_audit_20260516_1135.json`
- Report: `tools/data/reports/agent_20260516_1135.md`
