# Agent Report - Prime Bridge Label Null Audit
**Date**: 2026-05-16 11:48
**Piano**: 133
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT - Nel perimetro vivo `8 GUE / 5 Poisson`, il candidato `numeri_primi:cycle_3` resta bridge graph osservato in `27/27` letture, con audit classico `classic_and_graph_bridge`; ma il null label-count-preserving ricostruisce lo stesso `27/27` in `253/512` permutazioni (`raw_p=0.494140625`, Wilson 95% `[0.451039270, 0.537329250]`). Il candidato non diventa ritorno fisico: la posizione a due lettori resta troppo ricostruibile dalla geometria delle etichette 8/5.
observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate
observables_used: [target_graph_bridge_hits, target_graph_bridge_frequency, label_count_preserving_null_hits, any_row_stable_27_under_null, classical_audit_state, brody_q, berry_robnick_like_gue_weight]
**observable_contract**: claim=`numeri_primi:cycle_3` diventa ritorno fisico solo se il suo `27/27` bridge status non viene ricostruito frequentemente permutando solo le label GUE/Poisson; observable=hit count del target su 27 perturbazioni graph-reader; operator=null label-count-preserving sulle 13 righe BOUNDARY; generator=feature row-local fissate dal reader 11:40, solo `source_domain_type` permutato; denominator=13 righe, 27 letture, `512` permutazioni; p_value_definition=right-tail `raw_p=k/N`, `add_one_p=(k+1)/(N+1)`, con `k` = trial null con `target_hits >= observed_target_hits`; non_possible=chiamare `numeri_primi:cycle_3` ritorno fisico se il null ricostruisce spesso `27/27`; not_tested=nuovi spettri, nuovo Hamiltoniano fisico, validita analitica delle label sorgente, scaling asintotico.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + A11 combo + QxG continuo/discreto + nodo BOUNDARY `8 GUE / 5 Poisson` + grafo della conoscenza come lettore.
- **Dipolo / punto-zero**: nome fisico del candidato / geometria etichettata. Punto-zero: la stessa riga `numeri_primi:cycle_3` prima che la label GUE/Poisson orienti centroidi e cross-neighbor.
- **Piano superiore**: topologia del grafo row-aligned; il bordo vive solo dove il nome fisico costa piu del null di etichetta.
- **Operatori laterali scelti**: graph curvature, label-count-preserving null, audit classico Brody/Berry-Robnik.
- **Contaminazione cognitiva**: CE-0001/KSAR usata per reiterare il kernel del ciclo 11:40 senza cambiare denominatore; CE-0117/Cascata usata per far cadere il candidato nel null prima della promozione.
- **Proto-ipotesi**: un bridge a due lettori non diventa fisico perche resta stabile; diventa fisico solo se la stabilita ha costo sotto null che preservano il perimetro.
- **Possibile/non-possibile**: possibile = usare `numeri_primi:cycle_3` come candidato nominale del grafo 13-righe; non-possibile = promuoverlo come ritorno fisico quando il null ricostruisce `27/27` in circa meta dei trial.
- **Proiezione**: rieseguo il reader 11:40, tengo fisse le feature delle 13 righe, permuto solo le label preservando `8/5`, e conto quante volte il target raggiunge l'osservato.
- **Movimento A->M->B**: fisico A = statistiche prime dentro il confine GUE/Poisson; matematica M = null di etichetta su grafo kNN perturbato; fisico B = ritorno verso un null prime-specific. Il ritorno B resta domanda, non avanzamento.

## Aderenza alla direzione
- `relation`: `follows_direction`
- `why`: l'esperimento attacca direttamente il perimetro vivo `8 GUE / 5 Poisson` e il candidato emerso dal ciclo 11:40.
- `not_drift`: non torna a Sturmian, phi, V_c, fit locali o Anderson; il denominatore atomico resta 13 righe con 8 GUE e 5 Poisson.
- `seed_residue`: restano non testati nuovi domini fisici, source-label validation analitica e scaling asintotico.

## Re-discovery audit
- **Baseline noto piu vicino**: Brody crossover, Berry-Robnik mixture, Rosenzweig-Porter crossover, kNN label stability, cluster-boundary stability.
- **Cosa assorbe il baseline**: una riga intermedia puo apparire bridge quando le label definiscono centroidi e cross-neighbor del grafo.
- **Cosa resta Lab-specific**: audit null-first del candidato a due lettori sullo stesso denominatore 8/5.
- `two_reader_boundary_confirmed`: osservato `numeri_primi:cycle_3`, ma non promosso dopo null.
- `graph_only_residue`: non sommato al boundary; nel rerun pulito restano `logistica_biforcazione_var_3.5699` e `percolation` come `27/27` graph-only, mentre il residuo graph-only precedente non e usato come autorita.
- `scope_change_declared`: nessun cambio di scope.
- `graph_baseline_audit`: label-count-preserving permutation null su kNN graph perturbato.

## Claim Under Test
> Nel perimetro `8 GUE / 5 Poisson`, `numeri_primi:cycle_3` e' un candidato fisico solo se il suo `27/27` bridge status non viene ricostruito frequentemente da permutazioni delle label che preservano il conteggio 8/5.

## Question
Il bridge prime a due lettori costa informazione fisica, oppure il grafo lo ricrea quando cambiano solo le label del perimetro?

## Experiment Design
- **Script**: `tools/exp_boundary_prime_label_null_audit.py`.
- **Run**: `python tools/exp_boundary_prime_label_null_audit.py --out tools/data/boundary_prime_label_null_audit_20260516_1148.json --null-trials 512`.
- **Scope**: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
- **Classical audit**: `tools/data/boundary_classical_crossover_audit_20260515_1904.json`.
- **Reader grid**: `k=[2,3,4]`, `n_gaps=[512,1024,2048]`, seeds `[20260515,20260516,20260517]`, totale `27` letture.
- **Null**: permuta `source_domain_type` fra le stesse 13 righe preservando `8` GUE e `5` Poisson; feature row-local, osservabili e shuffle-z restano fissati.
- **P-value**: right-tail; `raw_p=k/N`, `add_one_p=(k+1)/(N+1)`, con `k` = trial null in cui `target_hits >= 27`.
- **Non misurato**: nuovi autovalori, Cramer null, raw prime gaps alternativi, unfolding fisico, limite asintotico.

## Results
| measure | observed | null k/N | raw_p | add_one_p | Wilson 95% | lettura |
|---|---:|---:|---:|---:|---|---|
| `numeri_primi:cycle_3` target hits | 27/27 | 253/512 | 0.494140625 | 0.495126706 | [0.451039270, 0.537329250] | il null ricostruisce spesso il target pieno |
| any row stable 27/27 under null | n/a | 508/512 | 0.992187500 | n/a | n/a | il grafo genera stabilita piena sotto label permutate |

| target label in null | target 27/27 hits |
|---|---:|
| GUE | 141 |
| Poisson | 112 |

| target hit count under null | trials |
|---:|---:|
| 0 | 36 |
| 9 | 72 |
| 18 | 38 |
| 21 | 35 |
| 24 | 24 |
| 27 | 253 |

## Key Findings
1. Verificato: il target osservato e' pieno (`27/27`) e resta `classic_and_graph_bridge` nel lettore classico.
2. Verificato: il null ricostruisce `target_hits=27` in `253/512` trial; il valore osservato non e raro sotto permutazione delle label.
3. Verificato: la ricostruzione non dipende dal target lasciato GUE: `141` hit pieni quando il target nullo e GUE, `112` quando e Poisson.
4. Verificato: almeno una riga qualsiasi raggiunge `27/27` in `508/512` trial null; la stabilita graph-only e' un residuo del lettore, non evidenza fisica.
5. Inferito dal perimetro: il nome `numeri_primi` non passa ancora dal grafo alla fisica; serve un null prime-specific che rompa ordine aritmetico senza usare label cross-dominio.

## Verdict
CONSTRAINT.

Il candidato `numeri_primi:cycle_3` resta il miglior nome operativo del bordo a due lettori, ma il suo `27/27` non ha costo sufficiente sotto null di etichetta. Il terzo incluso operativo resta proprieta del grafo 13-righe finche un null fisico row-local sui primi non separa ordine aritmetico e geometria GUE/Poisson.

## Bicono della scoperta
- **Due radici**: bridge osservato pieno / ricostruzione piena sotto null.
- **Singolare**: riga `numeri_primi:cycle_3` prima della label e prima del nome fisico.
- **Invariante di passaggio**: stesso denominatore 13 righe, stesso reader 27 letture, stesso target.
- **Campo di possibilita**: possibile = usare il target come candidato da stressare; non-possibile = promuoverlo come ritorno fisico dal solo graph-reader.

## Consecutio
Costruire un null prime-specific row-local sul target: preservare distribuzione dei gap e lunghezza finestra, rompere ordine aritmetico/log-temporale, e rieseguire il reader senza permutare label globali. Se il target resta `27/27` contro quel null, il ritorno fisico riapre; se cade, il candidato si chiude come artefatto del grafo 13-righe.

## Ricadute pratiche
ssp_value: yes. `tools/exp_boundary_prime_label_null_audit.py` diventa gate riusabile: nessun candidato two-reader puo passare a ritorno fisico senza costo contro label-count-preserving null.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- `python -m py_compile tools/exp_boundary_prime_label_null_audit.py` completato.
- Run completato: `tools/data/boundary_prime_label_null_audit_20260516_1148.json`.
- Primo artefatto 11:48 incoerente: target ricalcolato `18/27` contro baseline 11:40 `27/27`. Rerun baseline nello stesso ambiente ha riprodotto `27/27`; il file finale e stato sovrascritto con run pulito. La dissonanza resta telemetria: i residui graph-only non vengono usati come autorita.
- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
- Nessun update del seme.
- Nessuna promozione e nessun public sync.

## Files
- Script: `tools/exp_boundary_prime_label_null_audit.py`
- Data: `tools/data/boundary_prime_label_null_audit_20260516_1148.json`
- Report: `tools/data/reports/agent_20260516_1148.md`
