# Agent Report - Grammar-vs-Scale Boundary Gate
**Date**: 2026-05-14 17:01  
**Piano**: 125  
**Tension explored**: TENS_SCALE_TRASCENDENZA_LIMITE / BOUNDARY GUE-Poisson  
**verdict**: CONSTRAINT - il `gap_ratio` resta osservabile sensibile a scala/fase; la grammatica locale sopravvive come vincolo Sturmian-family, non come firma phi isolata.
observables_registry: 1.0.0-2026-05-06  
observables_used: [gap_ratio_first_two, top2_ratio, large_gap_count, label_set, grammar_excess_total, zero_excess_rate]  
**observable_contract**: claim=il residuo `gap_ratio(phi)` sopravvive solo se distingue grammatica Sturmian da mero effetto scala/densita e non collassa in controllo metallico o block shuffle; observable=`gap_ratio_first_two` + `grammar_excess_total` + `zero_excess_rate`; operator=`tools/exp_quasiperiodic_grammar_scale_gate.py`; generator=Sturmian phi/silver/bronze, balanced random phi-density, block shuffle phi-density; denominator=3 N x 3 fasi x 3 soglie per domini metallici, 4 trial per null; non_possible=claim phi-specific se silver/bronze o block shuffle trasportano la stessa grammatica; not_tested=`V_c` fit, beta atlas globale, dati fisici esterni, retention mediana/stable labels.

## Respiro fuori-tempo

- **Combo**: A9 terzo incluso + A11 combo + ponte QxG continuo/discreto + tensione `TENS_SCALE_TRASCENDENZA_LIMITE` + direzione viva BOUNDARY GUE/Poisson.
- **Dipolo / punto-zero**: grammatica Sturmian / effetto scala-densita. Punto-zero: gap spettrale grande, perche' lo stesso evento puo' essere letto come rapporto numerico oppure come posizione in una grammatica simbolica.
- **Piano superiore**: algebra/topologia assiomatica del linguaggio Sturmian: complessita' p(k), right-special factors e difetto palindromico attorno ai gap selezionati.
- **Operatori laterali scelti**: `operator algebra` per leggere lo spettro tridiagonale; `boundary operator` per trattare il gap grande come bordo; `same density random` per separare grammatica da densita.
- **Contaminazione cognitiva**: KSAR usato come reiterazione regressiva del kernel 16:56: non correggere il source, assorbire il residuo e riproiettarlo in una domanda falsificabile. CE-none: il campo vivo non espone un archivio CE operativo in questo ciclo oltre al richiamo storico CE-0117 del source; non viene inventata una voce.
- **Proto-ipotesi**: il confine non vive nel valore singolo `gap_ratio`; vive nella differenza tra gap numerico che oscilla e grammatica locale che resta o cade sotto null.
- **Possibile / non-possibile**: possibile = separare random-density da grammatica ordinata; non-possibile = promuovere `phi` come isolato se silver, bronze o block shuffle conservano la stessa grammatica.
- **Proiezione**: misuro insieme `gap_ratio_first_two` e `grammar_excess_total` sugli stessi eventi di gap, con count grezzi per ogni denominatore.

## Source directive

La direttiva one-shot chiedeva di assorbire il source cycle `20260514_1656`, non correggerlo, e risolvere la flag L8 rendendo tracciabile la deviazione locale se presente. Questo ciclo non promuove ne' sincronizza il source; usa il contratto minimo del repair come audit: claim corretto, count grezzi, `gap_ratio` dichiarato come testato, controlli non-zero formulati in modo scoped, auto-audit finale.

## Aderenza alla direzione

- `relation`: follows_direction
- `why`: riprende la direzione viva sul confine GUE/Poisson attraverso il nodo indicato da `dnd_scenario.py`, `TENS_SCALE_TRASCENDENZA_LIMITE`, distinguendo grammatica da scala.
- `not_drift`: non torna al repair L6 come contenuto, non promuove QxG, non integra graph completion, non usa `V_c` fit locale come scorciatoia.
- `deliberate_counter_perimeter`: false
- `why_counter_perimeter`: non applicabile; la direttiva e' stata usata come contratto di audit, non come deviazione contro la direzione viva.

## Claim Under Test

> Il claim realmente testato ora: `gap_ratio(phi)` e' un segnale utile solo se il suo scarto dai controlli metallici resta distinguibile dalla grammatica locale che quei controlli possono trasportare. Il ciclo non testa una legge fisica QxG e non ripara il report 16:56.

## Question

Quando il gap spettrale grande viene letto sia come rapporto numerico sia come finestra grammaticale, cosa sopravvive: phi, la famiglia Sturmian, o solo la densita/scala?

## Ritorno fisico

- **Punto fisico sorgente**: confine GUE/Poisson come transizione fra repulsione spettrale e indipendenza.
- **Attraversamento matematico**: Hamiltoniana quasiperiodica tridiagonale con potenziale Sturmian e lettura dei gap tramite IDS/label.
- **Punto fisico di ritorno**: esperimenti di catene quasiperiodiche 1D/fotoniche dove i gap spettrali distinguono ordine quasiperiodico da disorder density-matched.
- **Controllo concretezza**: il ritorno fisico e' misura di spettri/gap in reticoli quasiperiodici o multilayer fotonici, non categoria astratta di confine.
- **Relazione nuova**: il `gap_ratio` da solo indica instabilita di scala; la grammatica locale indica se il gap appartiene a una lingua ordinata.
- **Osservabile/test fisico possibile**: misurare gap principali in campioni Fibonacci/silver e in campioni disorder density-matched, poi confrontare ratio e grammatica IDS.
- **Se fallisce**: resta vincolo matematico su osservabili quasiperiodici; non scoperta fisica promuovibile.

## Experiment Design

- Script nuovo: `tools/exp_quasiperiodic_grammar_scale_gate.py`, nato perche' i tool densi `exp_quasiperiodic_gap_ratio_denominator.py` e `exp_gap_label_symbolic_grammar_gate.py` sono andati in timeout sul perimetro 17:01.
- Eigensolver: `scipy.linalg.eigvalsh_tridiagonal`, stessa Hamiltoniana tridiagonale ma senza matrice densa.
- Scope: N = 233, 377, 610; fasi = 0, 0.25, 0.5; soglie = 1.75, 2.0, 2.25; `top_k=12`; finestra grammaticale 55; k = 3,4,5,6.
- Null baseline: `balanced_random_phi_density` e `block_shuffle_phi_density`, 4 trial per condizione.
- Denominatori: domini metallici 27 condizioni ciascuno; null 108 condizioni ciascuno; finestre grammaticali 324 per dominio metallico, 1296 per balanced random, 1279 per block shuffle.
- Come serve la combo: se `gap_ratio` discrimina ma la grammatica non discrimina phi dai controlli, il claim cade a vincolo scoped; se random-density conserva la grammatica, cade anche il vincolo grammaticale.

## Results

| mode | conditions | first_two_ratio median | grammar_excess median | zero_excess hits/total | zero_excess rate |
|---|---:|---:|---:|---:|---:|
| phi | 27 | 0.4509 | 0.0 | 324/324 | 1.000 |
| silver | 27 | 1.3300 | 0.0 | 324/324 | 1.000 |
| bronze | 27 | 1.0094 | 0.0 | 315/324 | 0.972 |
| block_shuffle_phi_density | 108 | 0.8373 | 0.0 | 1183/1279 | 0.925 |
| balanced_random_phi_density | 108 | 1.1447 | 103.0 | 0/1296 | 0.000 |

Matched metallic comparisons:

| comparison | hits/total | rate |
|---|---:|---:|
| phi first_two_ratio < silver | 21/27 | 0.778 |
| phi first_two_ratio < bronze | 19/27 | 0.704 |
| phi first_two_ratio < both | 15/27 | 0.556 |

Timeout telemetry:

| attempted tool | outcome |
|---|---|
| `exp_quasiperiodic_gap_ratio_denominator.py` broad perimetro | no output before manual reduction |
| `exp_gap_label_symbolic_grammar_gate.py` broad perimetro | no output before manual reduction |
| reduced dense tools with `timeout 90` | timeout code 124 |
| tridiagonal gate | completed |

## Key Findings

1. **Verificato**: `gap_ratio(phi)` resta inferiore ai controlli metallici solo in 15/27 confronti con entrambi; non e' un discriminatore hard.
2. **Verificato**: la grammatica zero-excess separa phi/silver/bronze e block-shuffle da balanced random-density. Random-density ha 0/1296 finestre zero-excess.
3. **Vincolo**: la grammatica non isola phi. Silver trasporta 324/324 finestre zero-excess, bronze 315/324, block shuffle 1183/1279.
4. **Inferito**: il contenuto vivo non e' `phi ha gap_ratio speciale`, ma `il gap numerico deve essere letto insieme alla grammatica che lo genera`.

## Verdict

**CONSTRAINT**.

Sopravvive un vincolo, non una scoperta phi-specific: `gap_ratio` misura una deviazione sensibile a scala/fase; la grammatica locale elimina il null random-density ma resta condivisa da controlli metallici e block-shuffle. Il confine operativo e' grammar-vs-density, non phi-vs-nonphi.

## Bicono della scoperta

- **Due radici**: rapporto numerico del gap / grammatica locale del gap.
- **Singolare**: gap spettrale grande come punto-zero, prima della lettura ratio o label.
- **Invariante di passaggio**: la finestra grammaticale zero-excess sopravvive alla famiglia Sturmian e cade nel random-density.
- **Campo di possibilita**: possibile costruire un gate grammar-vs-density per il confine quasiperiodico; non-possibile usare `gap_ratio(phi)` come legge isolata o come promozione QxG.

## Auto-audit source flags

- **L8 source flag**: risolta. Il report dichiara `relation`, `why`, `not_drift`, e `deliberate_counter_perimeter=false` per rendere leggibile che non c'e' deviazione locale contro la direzione viva.
- **Claim Under Test corretto**: risolto. Il claim non e' il repair L6 e non e' il source report; e' il test grammar-vs-scale.
- **Rate/frequenze con count grezzi**: risolto. Tutti i rate principali riportano hits/total.
- **Controlli non-zero scoped**: risolto. Silver, bronze e block shuffle trasportano sottostruttura; il wording resta vincolo scoped.
- **Retention mediana vs stable labels**: non applicabile; osservabili non usati.
- **gap_ratio**: tested.

## Consecutio

Il ciclo successivo non deve cercare un fit di `V_c` prima di isolare il livello giusto: densita random cade, grammatica Sturmian-family resta, phi resta solo come un membro con `gap_ratio` piu basso in parte del perimetro. La prossima domanda e' quale perturbazione rompe silver/block-shuffle senza rompere phi, oppure se il confine vero e' famiglia quasiperiodica vs disorder.

## Ricadute pratiche

ssp_value: no. Lo script e' strumento interno di falsificazione; non e' ancora demo/prodotto.

## Files

- `tools/exp_quasiperiodic_grammar_scale_gate.py`
- `tools/data/quasiperiodic_grammar_scale_gate_20260514_1701.json`
- `tools/data/reports/agent_20260514_1701.md`
