# Agent Report - Limite di scala prime-minus-mod6
**Date**: 2026-05-14 16:05  
**Piano**: 119  
**Tension explored**: TENS_SCALE_TRASCENDENZA_LIMITE / prime-minus-mod6 scale limit (0.6)  
**verdict**: PARTIAL - `prime_minus_mod6_z_vector(SR,L1,triple_var)` replica completo a 4096/8192; a 16384 cade `SR` contro `mod6_span_matched` con denominatore valido  
observables_registry: 1.0.0-2026-05-06  
observables_used: [SR, SR2, L1, L2, triple_var, prime_minus_mod6_z_vector, provider, offset, row_id, window_gaps, source_mode, case_state, row_local_label_swap_p, denominator_contract, trace_jsonl_event]  
**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` regge a 4096/8192 e mostra il primo limite oltre 8192 solo dopo `min_paired_rows` pre-dichiarato; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con `--min-paired-rows 10` e trace obbligatoria; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `mod6_index_aligned` e `mod6_span_matched`; denominator=righe provider-offset paired, soglia atomica `min_paired_rows=10`; non_possible=vettore completo falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista con denominatore valido; not_tested=origine analitica del delta, scale oltre 16384, beta atlas globale, `V_c`, `gap_ratio`.

## Prima impressione

Il limite di scala non nasce da righe sparse: nasce quando il contro-bordo span-matched assorbe la componente `SR` mentre `L1` e `triple_var` restano prime-specific.

## Respiro fuori-tempo

- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto + TENS_SCALE_TRASCENDENZA_LIMITE + vettore prime-minus-mod6.
- **Dipolo / punto-zero**: vettore completo / vettore parziale. Punto-zero: stesso denominatore provider-offset con `min_paired_rows=10`.
- **Piano superiore**: topologia assiomatica del bordo con boundary operator; il bordo non e' una label, e' una classe di componenti che sopravvivono o cadono sotto antagonista.
- **Operatori laterali scelti**: boundary operator e finite-size scaling. Il primo localizza quale componente passa il bordo; il secondo impedisce di chiamare scala cio' che e' solo 4096/8192.
- **Contaminazione cognitiva**: CE-0117 usato come cascata della possibilita' dal ciclo 14:58: trace obbligatoria -> denominatore atomico -> test oltre 8192. KSAR usato come reiterazione del kernel senza cambiare osservabile.
- **Proto-ipotesi**: il vettore prime-minus-mod6 ha due strati: `L1,triple_var` restano nel residuo geometrico della selezione prime; `SR` e' la componente piu' esposta al contro-bordo span-matched quando la scala raddoppia oltre 8192.
- **Possibile / non-possibile**: possibile = formalizzare il limite come cedimento selettivo di componente; non-possibile = cristallizzare il vettore completo come invariante oltre 8192.
- **Proiezione**: patch `denominator_contract`, run 4096/8192 con `min_paired_rows=10`, run 16384 solo perche' 8192 ha passato il contratto.

## Aderenza alla direzione

- `relation`: follows_direction
- `why`: esegue la ripetizione provider-indipendente con micro-trace, `min_paired_rows` pre-dichiarato, replica 4096/8192 e primo test oltre 8192 solo dopo denominatore stabile.
- `not_drift`: non torna a `V_c`, fit, label locali o GUE/Poisson; misura esclusivamente il limite del vettore prime-minus-mod6.

## Claim Under Test

> Nel contratto `min_paired_rows=10`, il vettore `prime_minus_mod6_z_vector(SR,L1,triple_var)` resta completo a 4096/8192; oltre 8192 il primo cedimento, se appare, identifica la componente non scalante.

## Question

Il limite oltre 8192 e' sparsita' del denominatore o rottura strutturale di una componente del vettore?

## Experiment Design

- Patch regressiva: `tools/exp_prime_vs_mod6_sr_boundary.py` ora scrive `denominator_contract` nel JSON e nella trace.
- Soglia pre-run: `min_paired_rows=10`.
- Scale: 4096, 8192, 16384 gap.
- Offsets: `0 512 1024 1536 2048 2560 3072 3584 4096 4608`.
- Null: row-local label swap, 4096 trials.
- Criterio vettoriale: per ogni antagonista, `SR`, `L1`, `triple_var` devono avere delta medio > 0 e p <= 0.01.
- Gate scala: 16384 eseguito solo dopo 8192 con denominatore valido.

## Results

| window | antagonist | rows | denom pass | z_SR delta | p(z_SR) | z_L1 delta | p(z_L1) | z_triple_var delta | p(z_triple) | vector complete | verdict |
|---:|---|---:|---|---:|---:|---:|---:|---:|---:|---|---|
| 4096 | mod6_index | 13 | yes | 57.569 | 0.0002 | 60.310 | 0.0002 | 23.073 | 0.0002 | yes | CONFIRMED |
| 4096 | mod6_span | 13 | yes | 32.915 | 0.0005 | 29.257 | 0.0005 | 26.383 | 0.0005 | yes | CONFIRMED |
| 8192 | mod6_index | 10 | yes | 85.623 | 0.0027 | 89.234 | 0.0027 | 35.046 | 0.0027 | yes | CONFIRMED |
| 8192 | mod6_span | 10 | yes | 35.145 | 0.0012 | 36.967 | 0.0012 | 34.120 | 0.0012 | yes | CONFIRMED |
| 16384 | mod6_index | 10 | yes | 121.390 | 0.0015 | 127.047 | 0.0015 | 51.294 | 0.0015 | yes | CONFIRMED |
| 16384 | mod6_span | 10 | yes | 14.687 | 0.0222 | 19.466 | 0.0034 | 27.810 | 0.0027 | no | PARTIAL |

Trace JSONL: 73 eventi a 4096, 58 a 8192, 58 a 16384.

## Key Findings

1. **Verificato**: il denominatore non cade. `min_observed_paired_rows` = 13, 10, 10 per 4096, 8192, 16384.
2. **Verificato**: il vettore completo replica a 4096 e 8192 contro entrambi gli antagonisti.
3. **Verificato**: a 16384 `mod6_index_aligned` resta completo, mentre `mod6_span_matched` rompe solo `SR`: delta positivo 14.687 ma p=0.0222.
4. **Verificato**: `L1` e `triple_var` restano significativi anche a 16384 contro `mod6_span_matched`.
5. **Inferito dal perimetro**: `SR` misura uno strato piu vicino alla grammatica del pre-bordo span-matched; `L1,triple_var` misurano il residuo piu resistente della selezione prime.

## Verdict

**PARTIAL / SCALE LIMIT LOCALIZED**.

Nel perimetro dichiarato, `prime_minus_mod6_z_vector(SR,L1,triple_var)` e' completo fino a 8192 gap. A 16384 il limite non e' il denominatore: e' `SR` contro `mod6_span_matched`. La forma scalante corrente diventa `prime_minus_mod6_z_vector(L1,triple_var)`; `SR` resta componente di audit da isolare.

## Bicono della scoperta

- **Due radici**: completezza vettoriale 4096/8192 / cedimento selettivo 16384.
- **Singolare**: denominatore provider-offset con `min_paired_rows=10`.
- **Invariante di passaggio**: `L1,triple_var` passano anche quando `SR` cade.
- **Campo di possibilita**: separare il vettore in strato robusto (`L1,triple_var`) e strato boundary-sensitive (`SR`).
- **Campo non-possibile**: promuovere `SR,L1,triple_var` come vettore indivisibile oltre 8192.

## Consecutio

Il prossimo passaggio deve isolare `SR`: stesso denominatore, stessa trace, confronto fra `mod6_span_matched` e un null che conserva span ma distrugge solo la grammatica locale. Se `SR` resta p>0.01 mentre `L1,triple_var` passano, il claim va riscritto come vettore a due strati.

## Ricadute pratiche

ssp_value: yes. `denominator_contract` rende il limite auditabile nella trace e impedisce di confondere scala con sparsita'. La pipeline puo' leggere `next_scale_allowed` e `failure_mode` senza inferire dal testo del report.

## Files

- `tools/exp_prime_vs_mod6_sr_boundary.py`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.trace.jsonl`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.trace.jsonl`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.trace.jsonl`
- `tools/data/reports/agent_20260514_1605.md`
