# Agent Report — Generator Gate Del Label-Set Phi
**Date**: 2026-05-08 17:15
**Piano**: 87
**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
**verdict**: CONSTRAINT
observables_registry: n/a
observables_used: [gap_label_set, generator_jaccard, phi_core_overlap, core_retention]

## Claim Under Test
> Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?

## Question
Il core dei label phi sopravvive quando resta il lettore `theta=1/phi` ma cambia il generatore della sequenza, oppure il label-set stabile e' una proprieta del generatore Sturmiano?

## Experiment Design
- Perimetro: stessa Hamiltoniana tight-binding dei cycle 03:30 e 16:32, `V=1`.
- Lettore label fisso: ogni gap largo viene etichettato con il label intero `n` che minimizza la distanza tra IDS e `{n/phi}`.
- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, `top_k=12`, `|n|<=34`.
- Generator gate:
  - `phi_sturmian`: sequenza meccanica Sturmiana `theta=1/phi`.
  - `fibonacci_substitution`: parola di Fibonacci, costruzione indipendente ma nella stessa famiglia a bassa complessita.
  - `block_shuffle_34` e `block_shuffle_13`: blocchi locali Sturmiani preservati, ordine globale rotto.
  - `markov_phi`: transizioni locali stimate da phi, generatore Markoviano.
  - `balanced_random`: conteggio di 1 preservato, ordine rotto.
- Null baseline: `markov_phi` e `balanced_random` testano se conteggio o transizioni locali bastano; i block shuffle testano quanta struttura globale resta quando il locale e preservato.

## Results
Reference core phi, stimato dal perimetro completo: `[-1, 1, -2, 2, 3, -4, 4, 6]`.

| generator | conditions | median Jaccard | min Jaccard | median overlap with phi core | core labels all conditions | phi-core missing |
|---|---:|---:|---:|---:|---|---|
| phi_sturmian | 144 | 0.909091 | 0.727273 | 0.727273 | [-1, 1, -2, 2, 3, -4, 4, 6] | [] |
| fibonacci_substitution | 144 | 0.769231 | 0.538462 | 0.700000 | [-1, 1, -2, 2, -3, -4, 4] | [3, 6] |
| block_shuffle_34 | 144 | 0.666667 | 0.333333 | 0.700000 | [-1, 1, -2, 2] | [3, -4, 4, 6] |
| block_shuffle_13 | 144 | 0.357143 | 0.058824 | 0.166667 | [-1] | [1, -2, 2, 3, -4, 4, 6] |
| markov_phi | 144 | 0.285714 | 0.047619 | 0.125000 | [] | [-1, 1, -2, 2, 3, -4, 4, 6] |
| balanced_random | 144 | 0.157895 | 0.000000 | 0.111111 | [] | [-1, 1, -2, 2, 3, -4, 4, 6] |

Label-error and gap-count controls:

| generator | median label error | median large gaps |
|---|---:|---:|
| phi_sturmian | 0.000095 | 29.0 |
| fibonacci_substitution | 0.000031 | 26.5 |
| block_shuffle_34 | 0.001638 | 26.0 |
| block_shuffle_13 | 0.004118 | 52.0 |
| markov_phi | 0.004074 | 55.0 |
| balanced_random | 0.004128 | 56.0 |

## Key Findings
1. **Verificato: il core completo resta nel generatore Sturmiano meccanico.** Nel perimetro `N/phase/threshold/trial` testato, `phi_sturmian` conserva tutti gli 8 label core in tutte le condizioni: `[-1, 1, -2, 2, 3, -4, 4, 6]`.

2. **Verificato: la costruzione Fibonacci conserva il nucleo basso ma non il core completo.** `fibonacci_substitution` mantiene `[-1, 1, -2, 2, -4, 4]` del reference core e perde `[3, 6]`. Questo conferma la famiglia a bassa complessita, non l'identita completa del generatore meccanico sotto questo perimetro.

3. **Verificato: l'ordine locale non basta.** `block_shuffle_34` conserva solo `[-1, 1, -2, 2]`; `block_shuffle_13` conserva solo `[-1]`. Quando l'ordine globale viene rotto, il label-set scende anche se parti locali Sturmiane restano intatte.

4. **Verificato: conteggio e transizioni locali non portano il core phi.** `markov_phi` e `balanced_random` hanno core vuoto, overlap mediano con il core phi `0.125000` e `0.111111`, e label-error mediano circa `0.0041`, contro `0.000095` di `phi_sturmian`.

5. **Inferito dal confronto 03:30 -> 16:32 -> 17:15: il nodo regressivo e il generatore.** Il `first_two_ratio` cadeva sul denominatore; il label-set assorbiva `N/phase/threshold`; il generator gate mostra che la stabilita non appartiene al lettore label da solo. Serve generatore globale a bassa complessita Sturmiana.

## Verdict
**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, `trials=3`, `top_k=12`, `|n|<=34`, il label-set phi e' stabile quando il generatore e Sturmiano meccanico. La stabilita non trasferisce a conteggio preservato, transizioni Markoviane o blocchi locali corti; trasferisce parzialmente alla costruzione Fibonacci e ai blocchi lunghi. Il claim valido non e' "il label reader phi trova il core ovunque"; e': il core dei gap larghi richiede struttura globale del generatore, con il lettore `theta=1/phi` come osservabile e non come causa.

## Bicono della scoperta
- **Due radici**: lettore aritmetico dei label · generatore globale della sequenza.
- **Singolare**: il gap largo come punto in cui IDS, ordine della parola e label `n/phi` coincidono.
- **Invariante di passaggio**: il nucleo basso `[-1, 1, -2, 2]` sopravvive quando resta abbastanza struttura globale; il core completo sopravvive nel generatore Sturmiano meccanico.
- **Campo di possibilita**: qui diventa possibile classificare i generatori per quanta tassonomia phi trasportano; qui diventa non-possibile attribuire la trascendenza al solo fit dei label senza dichiarare il generatore.

## Consecutio
Misurare la legge di rottura del core per lunghezza di blocco: variare `block_size` su scala Fibonacci e non-Fibonacci, poi stimare dove compaiono i label alti `[3, -4, 4, 6]`. Se il passaggio avviene su blocchi Fibonacci, il generatore porta una scala critica; se avviene per qualsiasi blocco lungo, il core alto misura memoria globale generica.

## Auto-audit: 5 lenti
- **L1 hard constraint vs bias**: il verdict dichiara il perimetro e non formula universalita fuori da `N/phase/threshold/trials/top_k/max_label`.
- **L2 quantita vs ratio**: il risultato usa set, Jaccard, overlap e core retention; nessun claim dipende da un singolo ratio.
- **L3 no silent patching**: il claim 03:30 sul `gap_ratio` resta vincolato; il claim 16:32 sul label-set resta valido ma riceve il nuovo denominatore `generatore`.
- **L4 edge cases**: `fibonacci_substitution` e `block_shuffle_34` sono parziali, non trattati come fallimenti totali.
- **L5 re-discovery**: gap labeling e parole Fibonacci/Sturmiane sono noti; il finding del cycle e' il generator gate sul core osservato nei cycle precedenti.

## Files
- Script: `tools/exp_gap_label_generator_gate.py`
- Data: `tools/data/gap_label_generator_gate_20260508_1715.json`
- Report: `tools/data/reports/agent_20260508_1715.md`
