# Agent Report - Anderson 3D Two-Reader Boundary Null
**Date**: 2026-05-16 11:17
**Piano**: 131
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT - Anderson 3D produce una riga cross-size a due lettori (`W=20.00`), ma il feature-scramble null ricostruisce almeno lo stesso conteggio in `112/128` trial (`raw_p=0.875000000`, `add_one_p=0.875968992`). Il boundary trasferisce come candidato operativo sul dominio, non come terzo incluso fisico promosso.
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, graph_bridge_frequency, size_stability, centroid_margin, cross_neighbor_fraction, classical_audit_state, raw_p, add_one_p]
**observable_contract**: claim=il gate BOUNDARY a due lettori trasferisce oltre RP solo se la stessa riga Anderson e' `stable_graph_bridge+classical_intermediate` su tutte le size e batte il feature-scramble null; observable=`two_reader_all_sizes` unito a `graph_bridge_frequency`, adjacent ratio, Brody q, mixture Wigner/Poisson, IPR, entropy; operator=Hamiltoniana Anderson 3D con disorder sweep, seed perturbation e kNN reader; generator=`H=sum_i eps_i |i><i| + hopping nearest-neighbor` su reticolo periodico `L^3`, `eps_i uniform[-W/2,W/2]`; denominator=11 disorder rows x 2 size x 2 seed x 3 k-reader, null 128 feature-scramble trial; non_possible=promozione fisica se il null ricostruisce almeno il conteggio osservato; not_tested=limite termodinamico, mobility-edge exponent, boundary conditions alternative, sparse large-L, spettri sperimentali.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + QxG continuo/discreto + nodo BOUNDARY del grafo + direzione seme "8 domini GUE, 5 Poisson".
- **Dipolo / punto-zero**: mobility edge fisico / residuo del lettore. Punto-zero: riga disorder prima che classico e grafo le assegnino un nome.
- **Piano superiore**: grafo della conoscenza e topologia del bordo; il confine conta solo se la stessa riga resta ponte sotto perturbazione del lettore e cambio size.
- **Operatori laterali scelti**: boundary operator, graph spectrum/kNN cut, Anderson localization. Entrano per separare transizione fisica nota da firma prodotta dal lettore.
- **Contaminazione cognitiva**: CE-0001/KSAR usata come reiterazione del kernel 11:11 su dominio indipendente; PVI applicato al presupposto "una riga cross-size basta"; Vault = `W=20` congelato come candidato da stressare su size maggiori, non come scoperta.
- **Proto-ipotesi**: un terzo incluso operativo non e' una riga intermedia; e' una riga che resta intermedia quando il dominio fisico cambia e quando un null rompe l'accoppiamento fra feature.
- **Possibile/non-possibile**: possibile = Anderson contiene righe candidate nel corridoio mobility edge; non-possibile = promuovere il candidato se il feature-scramble ricostruisce il conteggio.
- **Proiezione**: misuro `two_reader_all_sizes` su `L=5,6`, `W=2,4,8,12,14,16,16.5,17,20,24,32`, seed `202605151947/1948`, k `2/3/4`; controllo con 128 feature-scramble trial.
- **Movimento A->M->B**: fisico A = crossover RP GUE/Poisson bloccato dal ciclo 11:11; matematica M = gate a due lettori con trasporto per size e null; fisico B = Anderson 3D mobility edge. Il ritorno fisico resta candidato non promosso.

## Aderenza alla direzione
- `relation`: `follows_direction`
- `why`: segue la direzione valutatore: porta il gate endpoint/two-reader fuori da RP verso Anderson 3D, dominio fisico indipendente con transizione metallico/localizzato.
- `not_drift`: non torna a phi/Sturmian, V_c, fit locali o aumento griglia RP; usa il deposito 11:11 solo come contratto operativo da falsificare fuori dominio.
- `seed_residue`: restano non testati il perimetro completo 8 GUE / 5 Poisson e spettri fisici reali.
- `why_not_drift`: il sotto-perimetro e' regressivo perche' attacca il nodo lasciato aperto dal valutatore: trasferibilita' cross-dominio del boundary.

## Re-discovery audit
- **Baseline noto piu vicino**: Anderson localization e mobility edge 3D; crossover Wigner-Dyson/Poisson; Brody interpolation; finite-size scaling della transizione metallico/localizzato.
- **Cosa assorbe il baseline**: righe intermedie vicino alla transizione, drift di adjacent ratio/Brody q/IPR, dipendenza da size piccole.
- **Cosa resta Lab-specific**: il contratto a due lettori con riga row-aligned, separazione graph-only/classic-only e p-value feature-scramble definito.
- **Separazione**: `two_reader_boundary_confirmed=1 cross-size`; `graph_only_residue_by_size={L5:3,L6:4}`; `scope_change_declared=RP_to_Anderson3D`; `graph_baseline_audit=kNN stability/cut-edge persistence`.

## Claim Under Test
> Il boundary come terzo incluso trasferisce da RP ad Anderson 3D solo se una riga disorder resta a due lettori su tutte le size e il feature-scramble null non ricostruisce quel conteggio.

## Question
Il gate a due lettori trova un confine fisico Anderson, o una combinazione di feature che il null puo' ricomporre senza struttura fisica?

## Ritorno fisico
- **Punto fisico sorgente**: crossover spettrale RP GUE/Poisson con residuo finito-size.
- **Attraversamento matematico**: grafo kNN standardizzato delle feature spettrali e classificazione classica row-aligned.
- **Punto fisico di ritorno**: Anderson 3D mobility edge, transizione metallico/localizzato.
- **Controllo concretezza**: il ritorno e' un Hamiltoniano tight-binding 3D con disorder `W`, non una categoria astratta di confine.
- **Relazione nuova**: il gate individua `W=20` come riga candidata, ma il null mostra che il lettore puo' ricostruire candidate cross-size.
- **Osservabile/test fisico possibile**: ripetere su `L>=7` con sparse eigensolver e null che preserva endpoint fisici ma rompe accoppiamento feature-row.
- **Se fallisce**: `ritorno_fisico_non_promosso`: resta vincolo metodologico e candidato da stressare, non scoperta fisica.

## Experiment Design
- **Script**: `tools/exp_anderson3d_mobility_edge_two_reader_audit.py`.
- **Run**: `python tools/exp_anderson3d_mobility_edge_two_reader_audit.py --out tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.json --scramble-trials 128`.
- **Scope**: `L=5,6`, `reps=8`, disorder grid `2,4,8,12,14,16,16.5,17,20,24,32`, seeds `202605151947,202605151948`, k values `2,3,4`, central fraction `0.45`.
- **Classical reader**: adjacent ratio, Brody q, Wigner/Poisson mixture weight; `classical_intermediate` quando non cade negli endpoint.
- **Graph reader**: riga `stable_graph_bridge` se `graph_bridge_frequency >= 0.75` sui k/seed reader.
- **P-value**: right-tail; `raw_p=k/N` e `add_one_p=(k+1)/(N+1)`, dove `k` e' il numero di null feature-scramble con conteggio cross-size almeno pari all'osservato.
- **Null**: feature-scramble trial che preserva marginali delle feature compatte e rompe accoppiamento row-feature del lettore.
- **Non testato**: non misura exponent critico, non usa large-L sparse solver, non confronta dati sperimentali.

## Results
| measure | observed | null k/N | raw_p | add_one_p | max null | lettura |
|---|---:|---:|---:|---:|---:|---|
| two_reader_all_sizes | 1 | 112/128 | 0.875000000 | 0.875968992 | 4 | non significativo |
| two_reader_intermittent | 2 | n/a | n/a | n/a | n/a | residuo size-sensitive |
| graph_only_residue L=5 | 3 | n/a | n/a | n/a | n/a | graph-only separato |
| graph_only_residue L=6 | 4 | n/a | n/a | n/a | n/a | graph-only separato |

| W row | L=5 state | L=6 state | all sizes | adjacent r L5/L6 | lettura |
|---:|---|---|---|---|---|
| 16.00 | stable_graph_bridge+classical_intermediate | parameter_sensitive_bridge+classical_intermediate | no | 0.502545 / 0.514892 | intermittente |
| 16.50 | parameter_sensitive_bridge+classical_wigner_endpoint | stable_graph_bridge+classical_intermediate | no | 0.520130 / 0.504157 | intermittente e reader-sensitive |
| 20.00 | stable_graph_bridge+classical_intermediate | stable_graph_bridge+classical_intermediate | yes | 0.494405 / 0.491363 | candidato cross-size non promosso |
| 24.00 | unstable_non_bridge+classical_intermediate | unstable_non_bridge+classical_intermediate | no | 0.468283 / 0.473644 | endpoint/localizzato non bridge |

## Key Findings
1. Verificato: `W=20.00` e' l'unica riga `stable_graph_bridge+classical_intermediate` su entrambe le size testate.
2. Verificato: `W=16.00` e `W=16.50` sono candidate intermittenti, quindi non trasportano il gate in modo cross-size.
3. Verificato: il null feature-scramble assorbe il conteggio osservato: `112/128` trial arrivano ad almeno `1` candidato, con massimo null `4`.
4. Verificato: esiste residuo graph-only separato (`3` righe a `L=5`, `4` a `L=6`); non viene sommato al boundary a due lettori.
5. Inferito dal perimetro: Anderson 3D e' un contro-perimetro utile, ma il risultato attuale misura fragilita' del lettore piu' che terzo incluso fisico.

## Verdict
CONSTRAINT

Il gate trasferisce abbastanza da nominare `W=20` come candidato Anderson, ma il null feature-scramble lo ricostruisce. La possibilita' ammessa e' "corridoio Anderson da stressare"; la possibilita' non ammessa e' "boundary fisico promosso". Il prossimo ciclo deve aumentare indipendenza del null o la size fisica, non ripetere il conteggio su `L=5,6`.

## Bicono della scoperta
- **Due radici**: riga cross-size osservata; ricostruzione da null.
- **Singolare**: disorder row prima della doppia lettura classico/grafo.
- **Invariante di passaggio**: row alignment e p-value dichiarato (`raw_p`, `add_one_p`) restano il filtro.
- **Campo di possibilita**: possibile = usare Anderson come stress test cross-dominio del gate; non-possibile = promuovere il boundary senza battere il null.

## Consecutio
Portare il candidato `W=20` a un audit piu' duro: `L>=7` con sparse eigensolver oppure null endpoint-preserving che mantiene i poli metallic/localized e rompe solo l'accoppiamento delle righe candidate. Se anche li' il null ricostruisce, il boundary resta proprieta' del lettore.

## Ricadute pratiche
ssp_value: yes. `tools/exp_anderson3d_mobility_edge_two_reader_audit.py` ora include un feature-scramble null con `raw_p` e `add_one_p`; il dato `tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.json` diventa regressione negativa riusabile.

## 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 per contratto vivo valutatore.
- `python -m py_compile tools/exp_anderson3d_mobility_edge_two_reader_audit.py` completato.
- Run completato: `tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.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_mobility_edge_two_reader_audit.py`
- Data: `tools/data/anderson3d_mobility_edge_two_reader_audit_20260516_1117.json`
- Report: `tools/data/reports/agent_20260516_1117.md`
