# Agent Report - Prime-minus-mod6 z-vector formalizzato
**Date**: 2026-05-14 14:58  
**Piano**: 118  
**Tension explored**: BOUNDARY / prime-minus-mod6 residual (0.8)  
**verdict**: CONFIRMED - `prime_minus_mod6_z_vector(SR,L1,triple_var)` regge oltre 2048 gap; `has_SR` resta audit negativo, non criterio di verdict  
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, sr_binary_delta_mean, row_local_label_swap_p, trace_jsonl_event]  
**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` sopravvive a sottrazione row-local `6k +/- 1`; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con verdict vettoriale 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, 4096 e 8192 gap, p label-swap <= 0.01 richiesto per ogni osservabile focus e ogni antagonista; non_possible=vettore falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista; not_tested=origine analitica del delta, scale oltre 8192 gap, beta atlas globale, `V_c`, `gap_ratio`.

## Prima impressione

Il residuo non e' la presenza di `SR`: e' un differenziale di intensita che attraversa `SR,L1,triple_var` quando la stessa riga passa dal pre-bordo mod6 alla selezione prime.

## Respiro fuori-tempo

- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto + BOUNDARY + direzione valutatore `prime_minus_mod6_z_vector(SR,L1,triple_var)`.
- **Dipolo / punto-zero**: pre-bordo `6k +/- 1` / selezione prime. Punto-zero: riga provider-offset condivisa; il denominatore resta lo stesso e solo la selezione cambia.
- **Piano superiore**: topologia assiomatica del bordo. Il boundary operator non decide dalla label comune, decide dal differenziale che resta dopo sottrazione del pre-bordo.
- **Operatori laterali scelti**: boundary operator, perche' il claim vive nella sottrazione prime-minus-mod6; parallel transport, perche' provider e offset trasportano la stessa riga fra classi senza cambiare denominatore.
- **Contaminazione cognitiva**: CE-0117 come cascata della possibilita' dal ciclo 13:30: `has_SR` -> delta z -> vettore `SR,L1,triple_var`; KSAR come reiterazione del kernel con nodo regressivo corretto nello script.
- **Proto-ipotesi**: il confine prime-specific dopo mod6 non e' una proprieta' booleana; e' un vettore row-local. Quando `has_SR` e' comune al pre-bordo, il residuo resta nel segno e nella significativita' dei delta z.
- **Possibile / non-possibile**: possibile = usare il vettore come osservabile dedicato del confine; non-possibile = usare `SR` binario, commonality o verdict nominale vecchio come discriminatore.
- **Proiezione**: patch del verdict nello script, trace JSONL obbligatoria, run dense a 4096 e 8192 gap contro entrambi gli antagonisti mod6.

## Aderenza alla direzione

- `relation`: follows_direction
- `why`: formalizza e falsifica il residuo indicato dal valutatore separando il verdict da `has_SR`, rendendo obbligatorio il micro-trace JSONL e scalando oltre 2048 gap.
- `not_drift`: non rientra in `V_c`, fit locali, label-set globali o frame GUE/Poisson; lavora solo il nodo regressivo del contratto prime-minus-mod6.

## Claim Under Test

> Dopo sottrazione del pre-bordo `6k +/- 1`, la selezione prime lascia un vettore row-local positivo e significativo su `SR,L1,triple_var`; `has_SR` non decide il confine.

## Question

Il vettore `prime_minus_mod6_z_vector(SR,L1,triple_var)` resta completo a 4096 e 8192 gap contro antagonisti mod6 piu forti, oppure cade quando il denominatore cresce?

## Ritorno fisico

- **Punto fisico sorgente**: QxG continuo/discreto nel dominio dei primi; il pre-bordo `6k +/- 1` contiene il vincolo aritmetico minimo prima della primalita.
- **Attraversamento matematico**: boundary operator row-local con label-swap null.
- **Punto fisico di ritorno**: vincolo di misura per sistemi discreti con pre-selezione forte: separare presenza di una firma da intensita residua dopo sottrazione del pre-bordo.
- **Relazione nuova**: la transizione non vive nella label comune ma nel vettore differenziale che resta dopo trasporto sullo stesso denominatore.
- **Osservabile/test fisico possibile**: ripetere il contratto su altri domini discreti con pre-bordo noto, mantenendo riga locale e antagonista span/index matched.
- **Se fallisce**: `ritorno_fisico_assente`; resta osservabile aritmetico dedicato, non ponte fisico promuovibile.

## Experiment Design

- Script modificato: `tools/exp_prime_vs_mod6_sr_boundary.py`.
- Modifica regressiva: `verdict()` usa `vector_summary`, non `class_summaries["prime"]["sr_rate"]` o commonality di `SR`.
- Trace: `--trace-jsonl` obbligatorio; ogni run scrive case, class summary, paired rows, pair summary, vector summary e verdict.
- Run principali: `window_gaps=4096` con 13 righe paired effettive; `window_gaps=8192` con 10 righe paired effettive.
- Antagonisti: `mod6_index_aligned` e `mod6_span_matched`.
- 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.
- Run scartato come telemetria: `4096` sparse con 5 righe paired produce delta grandi ma p=0.0566..0.0661 per risoluzione insufficiente del denominatore; non decide.

## Results

| window | antagonist | rows | Jaccard | SR binary delta | p(SR binary) | 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 | 0.765 | 0.000 | 1.0000 | 59.184 | 0.0007 | 62.061 | 0.0007 | 23.376 | 0.0007 | yes | CONFIRMED |
| 4096 | mod6_span | 13 | 0.674 | 0.154 | 0.5033 | 34.747 | 0.0002 | 31.260 | 0.0002 | 26.960 | 0.0002 | yes | CONFIRMED |
| 8192 | mod6_index | 10 | 0.630 | 0.100 | 1.0000 | 79.717 | 0.0024 | 83.306 | 0.0024 | 33.154 | 0.0024 | yes | CONFIRMED |
| 8192 | mod6_span | 10 | 0.787 | -0.100 | 1.0000 | 35.105 | 0.0020 | 36.745 | 0.0020 | 34.060 | 0.0020 | yes | CONFIRMED |

## Key Findings

1. **Verificato**: il verdict e' separato da `has_SR`. A 8192 gap `mod6_span_matched` ha `SR` comune e `sr_binary_delta_mean=-0.1`, ma il vettore passa completo.
2. **Verificato**: il vettore `SR,L1,triple_var` passa in 4/4 audit principali oltre 2048 gap, con p label-swap 0.0002..0.0024.
3. **Verificato**: `has_SR` non e' significativo in nessun audit principale: p=0.5033 o 1.0000.
4. **Verificato**: la trace e' obbligatoria e presente: 72 eventi JSONL per 4096 dense, 57 eventi JSONL per 8192 dense.
5. **Inferito dal perimetro**: il pre-bordo mod6 condivide label e focus parziali con i primi; il residuo prime-specific e' intensita differenziale, non appartenenza.

## Verdict

**CONFIRMED / VECTOR OBSERVABLE**.

Nel perimetro 4096-8192 gap, con denominatore row-local e due antagonisti mod6, `prime_minus_mod6_z_vector(SR,L1,triple_var)` e' l'osservabile del confine. `has_SR` e' audit negativo: misura che la label non decide.

## Bicono della scoperta

- **Due radici**: label comune `SR` / intensita differenziale `SR,L1,triple_var`.
- **Singolare**: riga provider-offset prima della classificazione prime/mod6.
- **Invariante di passaggio**: delta z positivo e significativo sui tre osservabili focus.
- **Campo di possibilita**: formalizzare il confine come vettore row-local e usare trace obbligatoria per audit futuri.
- **Campo non-possibile**: promuovere `has_SR`, commonality o verdict binario come firma prime-specific.

## Consecutio

Il prossimo passaggio non deve riaprire il verdict. Deve isolare l'origine del vettore: quale componente del passaggio da `6k +/- 1` a primalita' genera il delta positivo su `SR,L1,triple_var`, e quale null lo spegne senza distruggere il denominatore row-local.

## Ricadute pratiche

ssp_value: yes. Lo script ora emette un verdict aderente al contratto osservabile e rifiuta run senza micro-trace. La trace diventa superficie auditabile per pipeline, falsifier e report senza fidarsi del solo JSON aggregato.

## Files

- `tools/exp_prime_vs_mod6_sr_boundary.py`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.trace.jsonl`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.trace.jsonl`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.json`
- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.trace.jsonl`
- `tools/data/reports/agent_20260514_1458.md`
