# Agent Report - RP Unfolding Sensitivity Audit
**Date**: 2026-05-16 09:21
**Piano**: 124
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT/FINDING - la finestra RP `0.045-0.060` non resta intera sotto unfolding alternativo. `RP_lambda_0.045` resta terzo incluso operativo in entrambi gli unfolding; `RP_lambda_0.060` e unfolding-sensitive.
observables_registry: 1.0.0-2026-05-06
observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode]
**observable_contract**: claim=la finestra RP finita e unfolding-stable solo se le stesse righe lambda battono label-shuffle e position-shift sotto normalizzazione globale e locale; observable=thresholded two-reader raw-count pass per lambda, size e unfolding mode; operator=repeat del gate RP 08:20 con `global_mean` e `local_window`; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed, k e unfolding mode; denominator=11 lambda per size/mode, observed denominator 12, label-null 768, position-null 120; non_possible=boundary unfolding-stable se una lambda promossa cade sotto local-window; not_tested=N piu grande, finestre locali diverse da 7, spettri sperimentali, Anderson 3D, many-body RP.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY "8 domini GUE, 5 Poisson".
- **Dipolo / punto-zero**: finestra fisica stabile / artefatto di unfolding. Punto-zero: la stessa riga lambda prima che l'unfolding scelga il confine al posto del dato.
- **Piano superiore**: geometria dei campi e grafo della conoscenza; il confine e un trasporto tra poli che deve sopravvivere al cambio di coordinate spettrali.
- **Operatori laterali scelti**: Hamiltonian flow, local unfolding, kNN graph cut.
- **Contaminazione cognitiva**: CE-0019 usata per fissare combo prima della misura; CE-0022 usata per scegliere operatori senza tornare a Sturmian. YSN DeltaLink=`finestra RP / cambio di unfolding`; Cornelius gene=`UNFOLDING_BEFORE_UNIVERSALITY`: RIPETI GATE, CAMBIA COORDINATA, CONTA, TAGLIA FINESTRA.
- **Proto-ipotesi**: il terzo incluso RP non e la regione intermedia intera; e la riga che resta classically-intermediate e graph-thresholded quando cambia la normalizzazione degli spacing.
- **Proiezione**: misura su lambda RP, size 64/96/128, 4 seed, k=2/3/4, 64 label-shuffle per lettura, 10 position-shift, due unfolding mode.

## Aderenza alla direzione
- `relation`: `follows_direction`
- `why`: l'esperimento resta sul confine GUE/Poisson come terzo incluso operativo e stressa il finding fisico controllato del ciclo 08:20.
- `not_drift`: non usa Sturmian, phi/silver/bronze, V_c o generatori locali; cambia solo la coordinata di unfolding sullo stesso perimetro RP row-aligned.

## Re-discovery audit
- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
- **Cosa viene assorbito dal baseline**: una finestra intermedia e attesa; la dipendenza dall'unfolding e un controllo standard prima di promuovere universalita.
- **Cosa resta Lab-specific**: il contratto `classical_intermediate + graph-thresholded + raw counts + unfolding stability` prima della parola boundary.
- **Separazione richiesta**: `two_reader_boundary_confirmed = RP_lambda_0.045`; `unfolding_sensitive = RP_lambda_0.060`; `graph_only_residue = 0`; `graph_baseline_audit = label shuffle + position shift + unfolding switch`.

## Claim Under Test
> Nel Rosenzweig-Porter finito, una riga del confine e terzo incluso operativo solo se resta all-size thresholded sotto global mean unfolding e local-window unfolding.

## Question
La finestra RP `0.045-0.060` del ciclo 08:20 sopporta un unfolding alternativo, o una delle due righe era coordinata-dipendente?

## Ritorno fisico
- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
- **Attraversamento matematico**: cambio di coordinata sugli spacing, da global mean a local-window unfolding, con lo stesso grafo kNN e gli stessi null row-aligned.
- **Punto fisico di ritorno**: una finestra finita in cui il boundary non dipende dalla normalizzazione locale degli spacing.
- **Relazione nuova**: il boundary RP stabile e piu stretto della finestra globale: `0.045` resta, `0.060` cade.
- **Osservabile/test fisico possibile**: ripetere `0.045` su size maggiori o su unfolding locali diversi; trattare `0.060` come coordinata sensibile.
- **Se fallisce**: se `0.045` cade con size maggiori o altri unfolding, il risultato diventa vincolo finito, non ponte fisico.

## Experiment Design
- **Script**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
- **Run**: `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`.
- **Size**: 64, 96, 128.
- **Lambdas**: 0, 0.03, 0.045, 0.06, 0.075, 0.10, 0.18, 0.32, 0.68, 0.82, 1.0.
- **Unfolding modes**: `global_mean`, `local_window` con window=7.
- **Denominatori per size/mode**: observed `12` = 4 seed x 3 k; label-shuffle `768` = 12 x 64; position-shift `120` = 12 x 10.
- **Soglia preregistrata**: observed rate `>=0.75`, lift minimo contro ciascun null `>=0.10`, p-value `<=0.05` contro ciascun null, `classical_intermediate`, pass su tutte le size e su entrambi gli unfolding.

## Results
| lambda | global pass sizes | global min obs | global min lift | global max null p | local pass sizes | local min obs | local min lift | local max null p | state |
|---:|---|---:|---:|---:|---|---:|---:|---:|---|
| 0.045 | 64,96,128 | 1.000000 | 0.523438 | 0.000137 | 64,96,128 | 0.750000 | 0.332031 | 0.021029 | unfolding_stable |
| 0.060 | 64,96,128 | 0.750000 | 0.343750 | 0.017103 | [] | 0.000000 | -0.350000 | 1.000000 | unfolding_sensitive |
| 0.075 | 64,128 | 0.666667 | 0.273437 | 0.051823 | [] | 0.000000 | -0.300000 | 1.000000 | intermittent/global_only |

### Row Counts
| mode | size | lambda | observed | label null | label p | position null | position p | min lift | pass |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
| global_mean | 64 | 0.045 | 12/12 | 353/768 | 0.000089 | 32/120 | 0.000000 | 0.540365 | yes |
| global_mean | 96 | 0.045 | 12/12 | 352/768 | 0.000086 | 44/120 | 0.000006 | 0.541667 | yes |
| global_mean | 128 | 0.045 | 12/12 | 366/768 | 0.000137 | 34/120 | 0.000000 | 0.523438 | yes |
| local_window | 64 | 0.045 | 12/12 | 353/768 | 0.000089 | 36/120 | 0.000001 | 0.540365 | yes |
| local_window | 96 | 0.045 | 12/12 | 355/768 | 0.000095 | 44/120 | 0.000006 | 0.537760 | yes |
| local_window | 128 | 0.045 | 9/12 | 321/768 | 0.021029 | 48/120 | 0.015267 | 0.332031 | yes |
| local_window | 64 | 0.060 | 4/12 | 319/768 | 0.805893 | 56/120 | 0.889085 | -0.133333 | no |
| local_window | 96 | 0.060 | 4/12 | 355/768 | 0.883142 | 53/120 | 0.852526 | -0.128906 | no |
| local_window | 128 | 0.060 | 0/12 | 231/768 | 1.000000 | 42/120 | 1.000000 | -0.350000 | no |

## Key Findings
1. Verificato: `RP_lambda_0.045` passa in `global_mean` e `local_window` su tutte le size. Il punto debole e local-window N=128 con `9/12`, ma resta sopra soglia con max null p=`0.021029` e min lift=`0.332031`.
2. Verificato: `RP_lambda_0.060` passa in global_mean su tutte le size, ma cade in local-window con `4/12`, `4/12`, `0/12`; i p-value locali sono alti e il lift minimo diventa negativo.
3. Verificato: `RP_lambda_0.075` non era all-size neppure in global_mean e cade interamente in local-window.
4. Inferito dal perimetro: il boundary fisico controllato non e la finestra `0.045-0.060`; il nucleo unfolding-stable e `0.045`, mentre `0.060` e una coordinata utile ma non invariante.

## Verdict
CONSTRAINT/FINDING

Il finding 08:20 viene ristretto al nodo regressivo giusto: non "finestra RP `0.045-0.060` stabile", ma "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable nel perimetro finito testato". `RP_lambda_0.060` resta boundary global-mean, non boundary invariantoide. Il prossimo ciclo deve stressare `0.045`, non salvare `0.060`.

## Bicono della scoperta
- **Due radici**: boundary robusto; boundary coordinata-dipendente.
- **Singolare**: stessa riga lambda sotto cambio di unfolding.
- **Invariante di passaggio**: `classical_intermediate + raw-count threshold + all-size + all-unfolding`.
- **Campo di possibilita**: possibile = usare `0.045` come nucleo RP per size/unfolding stress; non-possibile = promuovere `0.060` come stabile senza qualificare global_mean.

## Consecutio
Portare `RP_lambda_0.045` su un controllo piu duro: size maggiore oppure seconda finestra locale. Se regge, rimbalzo fisico B su Anderson 3D con gate raw-count; se cade, cristallizzare `finite_RP_lambda_0.045_boundary` come vincolo di perimetro.

## Ricadute pratiche
ssp_value: yes. `tools/exp_rp_unfolding_sensitivity_audit.py` e uno stress-test riusabile per separare boundary stabile da boundary dipendente dalla normalizzazione degli spacing.

## 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; direzione BOUNDARY ha prevalso per contratto vivo del campo.
- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
- `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json` completato.
- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
- Nessun update del seme.
- Nessuna promozione e nessun public sync.

## Files
- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
- Data: `tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`
- Report: `tools/data/reports/agent_20260516_0921.md`
