# Agent Report - Block Scale Gate Del Core Phi
**Date**: 2026-05-08 18:05
**Piano**: 88
**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
**verdict**: CONSTRAINT
observables_registry: n/a
observables_used: [gap_label_set, block_scale_retention, high_label_condition_rate, low_label_condition_rate]
**observable_contract**: claim=il core phi dei gap larghi richiede generatore globale, non solo lettore label; observable=retention dei label core sotto block shuffle; operator=Hamiltoniana tight-binding V=1, label IDS con reader theta=1/phi, Jaccard/retention/frequenza per block_size; generator=phi_sturmian con block_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, block_size Fibonacci e non-Fibonacci; not_tested=gap_ratio, generatori Sturmiani non-phi, GUE/Poisson, soglie 1.75/2.25.

## 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
La rottura del core phi sotto block shuffle dipende da una scala Fibonacci del generatore, o i label alti rientrano appena il blocco diventa lungo in modo generico?

## Experiment Design
- Perimetro: stesso lettore label dei cycle 16:32 e 17:15; `gap_ratio` non testato in questo ciclo.
- Reference core verificato sul generatore `phi_sturmian`: `[-1, 1, -2, 2, 3, -4, 4, 6]`.
- Nucleo basso: `[-1, 1, -2, 2]`. Label alti: `[3, -4, 4, 6]`.
- Blocchi Fibonacci: `5, 8, 13, 21, 34, 55, 89, 144`.
- Blocchi non-Fibonacci: `6, 10, 16, 24, 40, 64, 96, 128`.
- Null baseline interno: ogni block shuffle preserva conteggio e texture locale del generatore phi entro blocco, ma rompe ordine globale tra blocchi.
- Crossing dichiarativo: soglia descrittiva `>=0.5` sulle frequenze, usata per localizzare il passaggio nel dato, non per decidere verita strutturale.

## Results
Reference phi su 8 condizioni (`N x phase x threshold`): core completo `[-1, 1, -2, 2, 3, -4, 4, 6]`, Jaccard mediano `0.909091`, min `0.727273`.

| block_size | family | median Jaccard | low retention | high retention | all-high condition rate | stable labels 75% |
|---:|---|---:|---:|---:|---:|---|
| 5 | Fibonacci | 0.222222 | 0.25 | 0.25 | 0.000 | [] |
| 6 | non-Fibonacci | 0.266667 | 0.25 | 0.25 | 0.000 | [20] |
| 8 | Fibonacci | 0.307692 | 0.50 | 0.00 | 0.000 | [-1, 20] |
| 10 | non-Fibonacci | 0.357143 | 0.50 | 0.00 | 0.000 | [-1, 1, 20] |
| 13 | Fibonacci | 0.416667 | 0.50 | 0.00 | 0.000 | [-1, 1, 20, -33] |
| 16 | non-Fibonacci | 0.444444 | 0.50 | 0.00 | 0.000 | [-1, 1, 33] |
| 21 | Fibonacci | 0.363636 | 0.75 | 0.00 | 0.000 | [-1, 1] |
| 24 | non-Fibonacci | 0.444444 | 0.75 | 0.00 | 0.000 | [-1, 1, 33] |
| 34 | Fibonacci | 0.636364 | 1.00 | 0.50 | 0.000 | [-1, 1, -2, 2, -4, 4] |
| 40 | non-Fibonacci | 0.500000 | 1.00 | 0.00 | 0.000 | [-1, 1, -2] |
| 55 | Fibonacci | 0.800000 | 1.00 | 0.75 | 0.400 | [-1, 1, -2, 2, -3, 3, -4, 4] |
| 64 | non-Fibonacci | 0.571429 | 1.00 | 0.25 | 0.025 | [-1, 1, -2, 2] |
| 89 | Fibonacci | 0.818182 | 1.00 | 1.00 | 0.625 | [-1, 1, -2, 2, -3, 3, -4, 4] |
| 96 | non-Fibonacci | 0.625000 | 1.00 | 0.50 | 0.025 | [-1, 1, -2, 2] |
| 128 | non-Fibonacci | 0.666667 | 1.00 | 0.50 | 0.200 | [-1, 1, -2, 2, -4, 4] |
| 144 | Fibonacci | 0.833333 | 1.00 | 1.00 | 0.825 | [-1, 1, -2, 2, -3, 3, -4, 4, -6, 6, -7] |

High-label condition rates at the main transition points:

| block_size | family | label 3 | label -4 | label 4 | label 6 |
|---:|---|---:|---:|---:|---:|
| 34 | Fibonacci | 0.375 | 0.900 | 0.800 | 0.075 |
| 55 | Fibonacci | 0.925 | 0.925 | 1.000 | 0.450 |
| 64 | non-Fibonacci | 0.150 | 0.500 | 0.600 | 0.100 |
| 89 | Fibonacci | 0.975 | 1.000 | 1.000 | 0.650 |
| 96 | non-Fibonacci | 0.250 | 0.675 | 0.475 | 0.125 |
| 128 | non-Fibonacci | 0.450 | 0.975 | 0.875 | 0.200 |
| 144 | Fibonacci | 0.950 | 1.000 | 1.000 | 0.825 |

Detected crossings with threshold `>=0.5`:

| observable | first block_size |
|---|---:|
| median high retention | 34 |
| all-high condition rate | 89 |
| all-low condition rate | 34 |

## Key Findings
1. **Verificato: il nucleo basso rientra a scala 34.** Il passaggio `low retention=1.0` compare per la prima volta a `block_size=34`. Il controllo non-Fibonacci `40` arriva vicino ma resta senza `2` negli stable labels 75%.

2. **Verificato: i label alti non rientrano come blocco generico.** A `34` compaiono `-4` e `4`, ma `6` resta raro (`0.075`) e `all-high condition rate=0`. A `55` il segnale alto e' parziale (`all-high=0.4`). A `89` diventa frequente (`all-high=0.625`), e a `144` diventa dominante (`0.825`).

3. **Verificato: i controlli non-Fibonacci lunghi trasportano il basso ma non chiudono l'alto.** `64`, `96`, `128` hanno `low retention=1.0`, ma `all-high condition rate` resta `0.025`, `0.025`, `0.2`. La lunghezza da sola porta memoria locale; non ricostruisce il core alto come i blocchi Fibonacci `89/144`.

4. **Inferito dal confronto 17:15 -> 18:05: il nodo regressivo e' scala del generatore.** Il cycle 17:15 aveva separato lettore e generatore; questo ciclo localizza la rottura dentro il generatore: basso = blocchi abbastanza lunghi, alto = blocchi Fibonacci lunghi.

## Verdict
**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro `N={377,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={2.0}`, `trials=5`, `top_k=12`, `|n|<=34`, il core phi ha due scale. Il nucleo basso `[-1, 1, -2, 2]` rientra quando il blocco conserva texture locale sufficiente (`block_size=34`). I label alti `[3, -4, 4, 6]` richiedono blocchi Fibonacci lunghi: `89` e `144` portano il core alto come condizione frequente; i blocchi non-Fibonacci lunghi non chiudono la stessa struttura.

La formulazione valida e': il core alto del label-set phi misura memoria globale del generatore su scale Fibonacci, non lunghezza generica del blocco e non valore `gap_ratio`.

## Bicono della scoperta
- **Due radici**: nucleo basso locale del generatore / core alto globale del generatore.
- **Singolare**: `block_size=34/55/89` come soglia di passaggio in cui il blocco smette di essere texture locale e inizia a trasportare ordine Fibonacci.
- **Invariante di passaggio**: `[-1, 1]` attraversa quasi tutto; `[-1, 1, -2, 2]` attraversa dal blocco 34; `[3, -4, 4, 6]` attraversa stabilmente solo nelle scale Fibonacci lunghe.
- **Campo di possibilita**: qui diventa possibile classificare i label phi in strati di memoria; qui diventa non-possibile trattare il core come un unico blocco indifferenziato.

## Consecutio
Testare il vincolo su generatori Sturmiani non-phi mantenendo separati reader e generator: se anche silver/bronze hanno basso locale e alto su proprie scale di approssimanti, il gate diventa proprieta Sturmiana; se solo phi mostra rientro alto Fibonacci, il claim si restringe a phi.

## Auto-audit: 5 lenti
- **L1 hard constraint vs bias**: il verdict dichiara il perimetro e non estende a soglie, N o generatori non testati.
- **L2 quantita vs ratio**: il crossing `>=0.5` e' descrittivo; il claim poggia sul confronto tra famiglie di block size e frequenze label, non su un singolo valore.
- **L3 no silent patching**: `gap_ratio` resta non testato; il report dichiara il cambio osservabile nel contratto.
- **L4 edge cases**: `block_size=128` non-Fibonacci trattato come parziale, non ignorato; mostra `-4/4` frequenti ma non chiude `3/6`.
- **L5 re-discovery**: Fibonacci/Sturmian/gap labeling sono meccanismi noti; il finding del ciclo e' la stratificazione del core osservato in basso locale e alto Fibonacci-lungo.

## Files
- Script: `tools/exp_gap_label_block_scale_gate.py`
- Data: `tools/data/gap_label_block_scale_gate_20260508_1805.json`
- Report: `tools/data/reports/agent_20260508_1805.md`
