# Agent Report — Selective Perturbations Break the Single-Boundary Framing

## Campo

Proiezione obbligatoria:

```text
META: score=0.898  — META: incerto (i=0.5) — massimo potere discriminante
G_POTENZIALE_NULLA: score=0.703
METRIC_TENSOR: score=0.624
```

La consecutio dagli ultimi tre run era stretta: molti osservabili collassano su una coordinata latente sotto partial-shuffle, e i due layer Markov sembrano rompersi allo stesso confine. La domanda non e' se quel risultato sia falso, ma se il confine misurato sia proprieta' del sistema o proprieta' dell'operatore di perturbazione.

## Esperimento

Strumento usato: `tools/exp_selective_layer_decoupling.py`

Perimetro atomico:
- dati: `primes` con 8000 gap, `GUE` con 175 spacing effettivi prodotti dal generatore corrente, `Poisson` con 8000 spacing;
- perturbazioni: `uniform`, `Mk1`, `Mk2`;
- alpha: `[0.0, 0.05, ..., 1.0]`;
- surrogati per alpha: 8;
- soglia operativa: primo alpha dove `|z| >= 2`;
- seed: `20260505`.

Nota di calcolo: il tentativo `N=60000, n_surr=20` non ha prodotto output in tempo utile; il report usa solo il run completato e dichiara il perimetro ridotto.

## Risultato

Nei primi, la perturbazione uniforme non rompe i layer insieme nel perimetro testato:

| Observable | Layer | uniform | Mk1 | Mk2 |
|---|---:|---:|---:|---:|
| SR | L1 | 0.022 | 0.047 | 0.052 |
| L1 | L1 | 0.086 | 0.034 | 0.077 |
| SR2 | L2 | 0.584 | 0.466 | NEVER |
| L2 | L2 | 0.335 | 0.296 | NEVER |
| cond_entropy | L2 | 0.006 | 0.008 | 0.006 |
| triple_var | L2 | 0.193 | 0.083 | 0.087 |

Il dato centrale e' la scissione tra gli osservabili L2: `SR2` e `L2` sono preservati da Mk2 fino ad alpha=1.0, mentre `cond_entropy` e `triple_var` si rompono presto. Quindi "Layer 2" non e' atomico con questa famiglia di osservabili: contiene almeno due sottocanali, uno realmente recuperato dal surrogato Mk2 e uno sensibile alla discretizzazione/varianza della costruzione.

Su GUE il campione effettivo e' piccolo (`N=175`), quindi il risultato e' solo indicativo:

| Observable | Layer | uniform | Mk1 | Mk2 |
|---|---:|---:|---:|---:|
| SR | L1 | NEVER | NEVER | NEVER |
| L1 | L1 | 0.399 | NEVER | NEVER |
| SR2 | L2 | 0.947 | NEVER | NEVER |
| L2 | L2 | 0.337 | 0.260 | 0.313 |
| cond_entropy | L2 | NEVER | 0.188 | 0.662 |
| triple_var | L2 | NEVER | NEVER | 0.350 |

Poisson resta quasi nullo rispetto a SR/SR2/triple_var: molte curve non attraversano `|z| >= 2`. Questo e' coerente con un controllo a bassa struttura, non con una prova di assenza assoluta.

## Taglio

Il claim precedente "i due Markov layer sono coupled al boundary" va ristretto:

**Nel perimetro partial-shuffle dei run precedenti, SR/L1/L2/SR2 mostravano una fase quasi comune. Nel perimetro selective-perturbation di questo run, la fase comune non e' stabile: i critical alpha dei primi separano L1 e L2, e Mk2 preserva SR2/L2 ma non cond_entropy/triple_var.**

Questo non falsifica l'esistenza del boundary. Falsifica il framing piu' forte: "un boundary unico per i layer". Il confine osservato e' una superficie operatore-dipendente. Il terzo incluso operativo non e' il valore alpha in se': e' la trasformazione che decide quali correlazioni vengono conservate.

## Vincolo emerso

**CONSTRAINT on META + BOUNDARY**: non aggregare gli osservabili in "Layer 1" e "Layer 2" senza dichiarare l'operatore di perturbazione. Nel perimetro `N=8000, n_surr=8`, `cond_entropy` e `triple_var` non sono intercambiabili con `SR2/L2` come prove di Layer 2.

Consecutio: il prossimo test deve separare "order-k Markov recovery" da "observable family recovery". La domanda corretta non e' piu' "quanti layer?", ma: quali osservabili sono invarianti rispetto all'operatore Mk2 e quali misurano artefatti di binning/varianza?

## Auto-falsificazione con le 5 lenti

L1 hard constraint vs bias: non uso "zero", "impossibile", "mai" come claim assoluti. `NEVER` significa solo "non attraversa `|z| >= 2` sugli alpha testati".

L2 quantita' assoluta vs ratio: il confronto usa alpha critici e z-score, non percentuali tra spazi di taglia diversa. GUE ha perimetro ridotto (`N=175`) e non viene pesato come primes/Poisson.

L3 no silent patching: il claim precedente viene ristretto esplicitamente. "Coupled boundary" resta valido solo per il partial-shuffle gia' misurato, non come proprieta' generale dei layer.

L4 edge case isolation: `cond_entropy` e `triple_var` sono trattati come eccezioni operative dentro L2, non arrotondati dentro la media del layer.

L5 re-discovery: il risultato e' metodologico sul lab, non marcato NEW. La nozione vicina e' nota: surrogati Markov di ordine diverso preservano statistiche di ordine diverso; qui il contenuto e' il vincolo sul framing D-ND, non la teoria dei surrogati.

## Output

Dati salvati in:

```text
tools/data/selective_layer_decoupling.json
```

