# Agent Report - Vc Non-Sturmian Label Null Gate
**Date**: 2026-05-09 08:19
**Piano**: 100
**Tension explored**: TENS_SCALE_TRASCENDENZA_LIMITE / TRASCENDENZA_LIMITE
**verdict**: CONSTRAINT on non-Sturmian label-preserving null
observables_registry: 1.0.0-2026-05-06
observables_used: [`label_jaccard`, `hamming_ratio`, `source_mode`, `acceptance_rate`, `event_type`, `vc_interp`, `r_floor`] - osservabili domain-native, non canonici SR/SR2/L1/L2/triple_var
**observable_contract**: claim=un generatore non-Sturmian puo' preservare il label-set phi a N=144 con `label_jaccard>=0.75` e distanza non triviale; observable=`label_jaccard`, `hamming_ratio`, `source_mode`, `acceptance_rate`, `event_type`, `vc_interp`, `r_floor`; operator=scansione di generatori balanced random, block shuffle, periodic approximant, Markov-density contro lettore gap-label phi; generator=non-Sturmian candidate pool; denominator=N=144, phases={0,0.25,0.5,0.75}, 2199 candidati validi post hamming gate, r_threshold={0.48,0.50,0.52}; non_possible=se passano solo generatori con memoria di blocco/periodo lungo, il null e' non-Sturmian ma non indipendente dal boundary; not_tested=trasferimento GUE/Poisson, fit power-law, scale N!=144, indipendenza fuori dal label reader phi.

## Respiro fuori-tempo
- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG vuoto continuo/discreto + topologia del label-set spettrale + tensione `TENS_SCALE_TRASCENDENZA_LIMITE`.
- **Dipolo / punto-zero**: ponte strutturato / contro-campo indipendente; punto-zero = sequenza binaria che conserva il label-set prima che il suo generatore riveli se porta ancora scala Sturmian.
- **Piano superiore**: topologia assiomatica del boundary. Non misuro se `V_c` converge; misuro se il lettore topologico sopravvive quando il generatore perde la grammatica Sturmian esplicita.
- **Operatori laterali scelti**: boundary operator, periodic approximant, graph/word cut. Il boundary operator legge il set; l'approssimante periodico rompe l'aperiodicita' mantenendo scala; il cut a blocchi separa memoria lunga da shuffle dispersivo.
- **Contaminazione cognitiva**:
  - **CE-0117 / CE-0001 KSAR**: reiterazione regressiva del ciclo 07:41: la reachability e' chiusa, ora si separa label-preserving da generator-preserving.
  - **YSN DeltaLink**: il confine non e' classe GUE/Poisson ma trasporto di scala tra label reader e generatore.
  - **Cornelius gene**: "Conservare il label-set non basta: dichiara quale memoria lo trasporta."
  - **PVI attack**: chiamare "non-Sturmian" un block shuffle lungo puo' nascondere un ponte quasi-Sturmian; per questo `source_mode`, block length e `hamming_ratio` entrano nel verdict.
  - **Vault**: generatori Markov/density restano scarti utili: rompono il ponte ma non raggiungono il label-set.
- **Proto-ipotesi**: il label-set alto non richiede source_mode Sturmian esplicito, ma richiede memoria di scala lunga. Se balanced random e Markov falliscono mentre blocchi 21/34 o periodo 21 passano, il confine vive nella scala conservata, non nella classe nominale del generatore.
- **Proiezione**: genero candidati non-Sturmian, applico gate `Jaccard>=0.75`, poi misuro `r(V)` solo sui best accepted per non confondere ricerca del generatore con confronto GUE/Poisson.

## Claim Under Test
> A N=144 esiste un null non-Sturmian che conserva il label-set phi (`label_jaccard>=0.75`) con `hamming_ratio>=0.03`; se passa solo con memoria di scala lunga, il null non e' indipendente dal boundary.

## Question
Il ponte `phase_shift_sturmian` era necessario per preservare il label-set, oppure basta una memoria non-Sturmian di scala lunga?

## Experiment Design
- Script nuovo: `tools/exp_vc_nonsturmian_label_null_gate.py`.
- Scope: `N=144`, phases `0,0.25,0.5,0.75`, `label_threshold=2.0`, `top_k=12`, `max_label=34`.
- Generator pool: balanced random, block shuffle `2,3,5,8,13,21,34`, periodic approximant `13,21,34,55,89`, Markov-density.
- Gate: `label_jaccard>=0.75`, `hamming_ratio>=0.03`.
- Denominatore grezzo: `2199` candidati validi dopo hamming gate; `79` accettati.
- `V_c` event letto solo sui best accepted per source mode e fase, piu' controllo `phi_sturmian`.

## Results

Candidate gate:

| source_mode | candidates | accepted | acceptance_rate | best_jaccard | median_jaccard | median_hamming |
|---|---:|---:|---:|---:|---:|---:|
| balanced_random | 256 | 0 | 0.000 | 0.333 | 0.105 | 0.472 |
| markov_density | 192 | 0 | 0.000 | 0.312 | 0.111 | 0.472 |
| block_shuffle_21 | 187 | 6 | 0.032 | 0.818 | 0.467 | 0.153 |
| block_shuffle_34 | 124 | 25 | 0.202 | 0.818 | 0.583 | 0.083 |
| periodic_approximant_21 | 192 | 48 | 0.250 | 0.750 | 0.542 | 0.125 |

Accettati per fase:

| phase | accepted |
|---:|---:|
| 0.25 | 1 |
| 0.50 | 77 |
| 0.75 | 1 |

`V_c` event sui best accepted:

| source_mode | event rows | events | vc_median | label_jaccard_median | hamming_median | r_floor_median |
|---|---:|---|---:|---:|---:|---:|
| phi_sturmian | 12 | internal_cross=12 | 1.079 | 1.000 | 0.000 | 0.660 |
| block_shuffle_21 | 6 | internal_cross=6 | 1.406 | 0.809 | 0.104 | 0.668 |
| block_shuffle_34 | 6 | internal_cross=6 | 1.520 | 0.809 | 0.083 | 0.707 |
| periodic_approximant_21 | 3 | no_cross=3 |  | 0.750 | 0.153 | 0.740 |

## Key Findings
1. **Verificato: il label-set alto e' raggiungibile fuori da `source_mode=phase_shift_sturmian`.** Il gate trova `79/2199` candidati accettati: `block_shuffle_21` (`6`), `block_shuffle_34` (`25`), `periodic_approximant_21` (`48`).
2. **Verificato: la reachability non e' indipendenza dispersiva.** Balanced random (`0/256`) e Markov-density (`0/192`) non passano; i soli accettati conservano memoria di scala lunga o periodo 21.
3. **Verificato: i block shuffle accettati preservano il tipo evento `internal_cross`.** `block_shuffle_21` e `block_shuffle_34` hanno `6/6` righe internal_cross, ma con `V_c` mediano spostato a `1.406` e `1.520` contro `1.079` phi.
4. **Verificato: il periodic approximant 21 conserva label-set ma rompe `V_c`.** Le `3/3` righe evento sono `no_cross`; quindi label-preserving e boundary-crossing divergono.
5. **Inferito: il nodo regressivo non e' piu' Sturmian/non-Sturmian nominale.** Il nodo e' memoria di scala lunga / dispersione: il label reader accetta strutture non-Sturmian solo quando il trasporto di scala resta visibile.

## Verdict
**CONSTRAINT**: esiste un null non-Sturmian label-preserving a `N=144`, ma non e' un contro-campo indipendente. Passano solo generatori che conservano blocchi lunghi (`21`, `34`) o periodo `21`; i generatori dispersivi balanced random e Markov-density restano a zero accettati.

La formulazione valida e': `source_mode` Sturmian esplicito non e' necessario; memoria di scala lunga e' necessaria nel perimetro misurato. `label_jaccard>=0.75` non autorizza da solo il trasferimento GUE/Poisson: deve essere accoppiato a `event_type` e alla classe di memoria del generatore.

## Bicono della scoperta
- **Due radici**: label-set preservato da memoria lunga . label-set distrutto da dispersione locale.
- **Singolare**: la scala 21/34 come punto dove il generatore non e' Sturmian nominale ma porta ancora il boundary.
- **Invariante di passaggio**: il lettore gap-label phi sopravvive al taglio a blocchi lunghi; non sopravvive a shuffle random o Markov-density.
- **Campo di possibilita**: qui diventa possibile sostituire `source_mode=Sturmian` con un contratto piu' preciso di memoria di scala; qui diventa non-possibile usare `label_jaccard` isolato come null indipendente.

## Consecutio
Il prossimo passo e' separare memoria lunga e crossing: variare blocco/periodo attorno a `21,34` e chiedere quando `label_jaccard` resta alto ma `internal_cross` cade. Se il punto di caduta e' netto, il boundary ha una soglia di memoria; se e' continuo, il confine e' un gradiente di trasporto.

## Auto-audit: source flags e 5 lenti
- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_0741.md`, JSON `tools/data/vc_nonsturmian_label_null_gate_20260509_0819.json`.
- **L1 hard constraint**: il verdict non usa "indipendente"; dice non-Sturmian ma memory-preserving.
- **L2 count grezzi**: riportati `79/2199`, `0/256`, `0/192`, `6/187`, `25/124`, `48/192`, `6/6`, `3/3`.
- **L3 no observable drift**: `gap_ratio`, fit power-law e GUE/Poisson non sono testati.
- **L4 edge cases**: accettazioni concentrate a phase `0.50` (`77/79`); il perimetro phase-general resta non chiuso.
- **L5 re-discovery vs discovery**: non e' scoperta che blocchi lunghi conservino piu' ordine; il finding e' la separazione operativa tra source_mode nominale e memoria di scala.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- Verifica script: `python -m py_compile tools/exp_vc_nonsturmian_label_null_gate.py` completato senza errori.
- Run valido: `python tools/exp_vc_nonsturmian_label_null_gate.py --out tools/data/vc_nonsturmian_label_null_gate_20260509_0819.json`.

## Files
- Script: `tools/exp_vc_nonsturmian_label_null_gate.py`
- Data: `tools/data/vc_nonsturmian_label_null_gate_20260509_0819.json`
- Report: `tools/data/reports/agent_20260509_0819.md`
