# Agent Report - Prime Mobius Pair-Stratified Zero Gate
**Date**: 2026-05-08 21:33
**Piano**: 95
**Tension explored**: DUALITA_DIPOLARE_VS_ILLUSORIA (0.9) via operator directive one-shot
**verdict**: CONSTRAINT
observables_registry: 1.0.0-2026-05-06
observables_used: [SR, low_low_rate, high_high_rate]
**observable_contract**: claim=il residuo SR dello zero Mobius resta informativo dopo un null che preserva la geometria coarse della coppia di gap; observable=sr_zero_minus_nonzero, sr_aligned_minus_misaligned, low_low_zero_minus_nonzero, high_high_zero_minus_nonzero; operator=permuta label di transizione aligned/misaligned/zero dentro ogni pair bucket `(bucket(g_i), bucket(g_{i+1}))`; generator=prime gaps up to p<=1e6 with Mobius interval charges; denominator=main N={5000,10000,20000} offset=0 plus seedcheck offsets {3000,7000,11000}, 400 permutazioni, seed=2133; not_tested=gap_ratio Sturmian, V_c scaling, GUE/Poisson universale, sequenza Mobius globale coerente dopo shuffle.

## Respiro fuori-tempo
- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto vuoto + DUALITA_DIPOLARE_VS_ILLUSORIA + nodo regressivo del cycle 2121: lo zero Mobius ha perso low/high sotto null di lunghezza individuale ma conserva un residuo SR.
- **Dipolo / punto-zero**: shape/order residuo / artefatto di geometria coarse della coppia; punto-zero = null transition-level che conserva i conteggi aligned/misaligned/zero dentro ogni coppia coarse di gap.
- **Piano superiore**: boundary operator su grafo aritmetico di transizioni. Il bordo non e' letto sul singolo gap ma sulla coppia `(g_i,g_{i+1})`, dove SR misura forma e non grandezza assoluta.
- **Operatori laterali scelti**: boundary operator, filtrazione, random walk. Boundary operator definisce il vuoto prime-free; filtrazione costruisce i 16 pair bucket; random walk entra come permutazione locale delle classi di transizione dentro ogni bucket.
- **Contaminazione cognitiva**:
  - **CE-0117**: usato come cascata della possibilita; il risultato 2121 viene portato a un null piu' fine invece di essere promosso.
  - **CE-0038**: usato per mantenere la forma nel Nulla-Tutto sul vuoto tra primi, non sul primo isolato.
  - **CE-0001 / KSAR**: reiterazione del kernel 2121 con un solo nodo cambiato: da gap-bucket individuale a pair-bucket.
  - **PVI attack**: la sopravvivenza SR puo' essere artefatto del null transition-level; il report la formula come vincolo, non come legge classica.
- **Proto-ipotesi**: se lo zero Mobius porta informazione di shape oltre la geometria coarse della coppia di gap, allora `sr_zero_minus_nonzero` resta fuori dal null pair-stratified in main e offset. Se cade, il residuo 2121 era pair-length mediated.
- **Proiezione**: 16 bucket di coppia derivati da quattro classi di gap e shuffle dei label di transizione dentro ogni bucket. Soglia ex ante: `|z|>=2` e `p_two_sided<=0.05`.

## Claim Under Test
> Nel perimetro primi x Mobius fino a `p<=1e6`, il residuo `SR_zero_minus_nonzero` dello zero Mobius sopravvive a un null che preserva la coppia coarse di gap `(bucket(g_i), bucket(g_{i+1}))`.

## Question
Il residuo SR dello zero Mobius sopravvive alla geometria coarse della coppia di gap; e' informazione d'ordine/shape o serve un null ancora piu' fisico prima di nominarlo portatore?

## Experiment Design
- Script: `tools/exp_prime_mobius_pair_stratified_zero_gate.py`.
- Dati: primi fino a `1_000_000`; Mobius sieve sullo stesso perimetro.
- Carica intervallare: `S_n = sum(mu(k))` per `p_n < k < p_{n+1}`.
- Label di transizione: aligned=`S_i*S_{i+1}<0`, misaligned=`S_i*S_{i+1}>0`, zero=`S_i*S_{i+1}=0`.
- Null test: 400 permutazioni dei label di transizione dentro i 16 pair bucket `(bucket(g_i), bucket(g_{i+1}))`.
- Avviso di perimetro: il null e' transition-level; i label permutati non devono ricostruire una sequenza Mobius globale coerente.
- Contratto osservabile-operatore: `gap_ratio`, `V_c`, domini Sturmian e GUE/Poisson non testati.

## Results
| condition | primes | aligned/misaligned/zero | SR zero obs | SR zero null | z | p | SR aligned z/p |
|---|---:|---:|---:|---:|---:|---:|---:|
| N=5000 off=0 | 2..48619 | 1200/1572/2227 | -0.08952 | -0.02853 | -13.27 | 0.002 | 2.48 / 0.017 |
| N=10000 off=0 | 2..104743 | 2541/3102/4356 | -0.08983 | -0.02635 | -21.10 | 0.002 | 3.16 / 0.002 |
| N=20000 off=0 | 2..224743 | 5171/6331/8497 | -0.09208 | -0.03191 | -28.41 | 0.002 | 2.92 / 0.005 |
| N=5000 off=3000 | 27457..81817 | 1313/1525/2161 | -0.08548 | -0.02872 | -12.81 | 0.002 | 3.39 / 0.005 |
| N=10000 off=7000 | 70663..187973 | 2675/3178/4146 | -0.09804 | -0.03028 | -21.88 | 0.002 | 1.15 / 0.262 |
| N=20000 off=11000 | 116461..363271 | 5407/6413/8179 | -0.09283 | -0.02952 | -30.64 | 0.002 | 2.36 / 0.022 |

Pass count ex ante:

| observable | pass |
|---|---:|
| `sr_zero_minus_nonzero` | 6/6 |
| `sr_aligned_minus_misaligned` | 5/6 |
| `low_low_zero_minus_nonzero` | 0/6 |
| `high_high_zero_minus_nonzero` | 0/6 |

## Key Findings
1. **Verificato: il residuo SR dello zero sopravvive al pair-bucket null.** `sr_zero_minus_nonzero` passa 6/6; osservato `-0.08548..-0.09804`, null `-0.02635..-0.03191`, z da `-12.81` a `-30.64`, sempre `p=0.002`.
2. **Verificato: low/high restano non-portatori.** Anche sotto pair-bucket null, `low_low_zero_minus_nonzero` e `high_high_zero_minus_nonzero` passano 0/6; non rientrano nel claim.
3. **Ambiguo: aligned/misaligned su SR e' parziale.** Passa 5/6, ma cade a `N=10000 offset=7000` con `z=1.15`, `p=0.262`; non diventa portatore stabile.
4. **Inferito: il portatore e' shape/order dello zero, non low-core/high-tail.** La geometria coarse della coppia non ricostruisce il residuo SR, ma il null non conserva coppie esatte, classi residue o coerenza globale Mobius.

## Verdict
**CONSTRAINT on Prime Mobius zero-mediator gate**: nel perimetro primi x Mobius fino a `p<=1e6`, lo zero Mobius resta informativo su `SR_zero_minus_nonzero` dopo un null transition-level che preserva i 16 bucket coarse della coppia di gap. Il supporto low/high resta caduto. Formulazione corretta: `S=0` e' length-mediated per low/high; resta shape/order-residual per SR nel pair-bucket null testato.

Questo non dimostra una nuova legge sui primi. Il prossimo null deve preservare coppie esatte di gap, residue class e/o un modello classico prime-gap + Mobius randomness prima di promuovere il residuo a portatore.

## Bicono della scoperta
- **Due radici**: zero come artefatto della coppia coarse di gap . zero come residuo di forma oltre la coppia coarse.
- **Singolare**: la transizione prime-free prima della lettura aligned/misaligned/zero.
- **Invariante di passaggio**: cade il low/high; resta la differenza SR zero vs nonzero.
- **Campo di possibilita**: qui diventa possibile costruire un null exact gap-pair/residue-class; qui diventa non-possibile promuovere lo zero come reader low/high o come legge classica autonoma.

## Consecutio
Attaccare il residuo con un null piu' fisico: preservare coppie esatte `(g_i,g_{i+1})` quando il denominatore lo permette, aggiungere residue class dei primi e confrontare con un modello classico prime-gap + Mobius randomness. Se SR cade, il gate e' geometria fine. Se resta, il portatore non e' la lunghezza.

## Auto-audit: source flags e 5 lenti
- **Source directive 2133**: eseguito lo script richiesto con output dedicato `20260508_2133`; il null pair-bucket e' dichiarato transition-level.
- **L1 hard constraint vs bias**: nessun "sempre"; verdict limitato a sei condizioni e 400 permutazioni.
- **L2 quantita vs ratio**: SR, low/high e aligned/misaligned restano separati.
- **L3 no silent patching**: il claim low/high del ramo 2108/2121 resta vincolato, non recuperato.
- **L4 edge cases**: `sr_aligned_minus_misaligned` fallisce 1/6 e non entra nel verdict.
- **L5 re-discovery vs discovery**: verdict `CONSTRAINT`; prima di `NEW` serve null esatto e confronto con risultati classici su prime gaps/Mobius.

## Telemetria
- Verifica locale: `python -m json.tool` su seme e data JSON passa.
- `tools/structural_check.py` su report e seme: nessun anti-pattern trovato.
- Falsifier locale tentato dopo la scrittura: fallito per provider chain non disponibile (`codex-cli`, `claude-cli`, `openrouter`). Nessun file `falsifier_20260508_2133.json` prodotto.

## Files
- Script: `tools/exp_prime_mobius_pair_stratified_zero_gate.py`
- Data: `tools/data/prime_mobius_pair_stratified_zero_gate_20260508_2133.json`
- Report: `tools/data/reports/agent_20260508_2133.md`
