Reading additional input from stdin...
OpenAI Codex v0.124.0 (research preview)
--------
workdir: /opt/MM_D-ND
model: gpt-5.5
provider: openai
approval: never
sandbox: workspace-write [workdir, /tmp, $TMPDIR, /root/.codex-lab/memories]
reasoning effort: none
reasoning summaries: none
session id: 019e05a2-c9b9-7583-b925-80001d210b78
--------
user
Sei l'AI-Lab D-ND. Leggi tools/data/agent_field_live.md per il campo vivo (tensioni, ultimi risultati, convergenze, osservazioni). Leggi tools/LAB_AGENT_CONTEXT.md per modello, regole, errori da evitare. Esegui un esperimento e scrivi il report in tools/data/reports/agent_20260508_0330.md
warning: Codex could not find bubblewrap on PATH. Install bubblewrap with your OS package manager. See the sandbox prerequisites: https://developers.openai.com/codex/concepts/sandboxing#prerequisites. Codex will use the vendored bubblewrap in the meantime.
codex
Leggo il campo vivo e il contesto operativo prima di scegliere l'esperimento. Verifico anche le direttive e le memorie cross-agent recenti, perché qui possono cambiare la tensione da attaccare.
exec
/bin/bash -lc "sed -n '1,240p' tools/data/agent_field_live.md" in /opt/MM_D-ND
 succeeded in 0ms:
Leggi tools/LAB_AGENT_CONTEXT.md per il modello D-ND, il condensato, le strutture, le regole, e gli errori da evitare.

## Orizzonte (telos del lab)
L'intento è **unificare la fisica usando il modello D-ND**. Le possibilità sono aperte.

## Memoria del ciclo precedente (autopoiesi)
Cosa il cycle precedente ha imparato. Non ripetere — costruisci sopra.

- **Direzione corrente**: Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo
- **Domanda aperta** (consecutio): Il tensore metrico dei primi è g=(p/2)². Nel tempo ln(p), è de Sitter 1+1D. z=-8.8 curvatura vs z=+2
- **Ultimi apprendimenti**:
  - Tensioni risolte: {'METRIC_TENSOR'}
  - Nuove tensioni: {'COMP_GEN_GAP_RATIO_FALSIFICA_F6', 'M_firma_dello_zero_L0', 'TR; Tensioni risolte: {'METRIC_TENSOR'}
  - Duality Contrast Weakens With Scale in Prime Gaps → None/None (ρ=None)

## Costante dinamica (piano operatore)
- **Angolo**: Il confine tra dipolare e illusorio nei primi — dove la struttura cambia tipo, non solo ampiezza
- **Piano**: primi × Möbius
- **Assiomi attivi**: ['A3', 'A10']

## Affinatore — osservazione del passo precedente (20260507_2310)
L'affinatore (osservatore separato dal produttore) ha letto il cycle precedente e proposto consecutio per il prossimo. Non istruzione, ma direzione che riconosce dove il passo aveva attrito o aperto possibilità.

Scritto [evolution_report.md](/opt/MM_D-ND/tools/evolution_report.md).

È breve, 22 righe, centrato sul passo: inversione dal campionamento K7/K8 al denominatore stratificato. Ho mantenuto la riparazione nel nodo regressivo del denominatore, senza proporre timeout, retry o guardie reattive.

## Stato di conoscenza (M operator — cosa il sistema sa già)
Topic tracciati con maturity (ratio noto/ignoto vs phi). Maturity=1 → punto fisso (saturo, non tornare). Maturity bassa → c'è ancora struttura da estrarre. Insight = pattern trasferibili rilevati nel tempo.

**Topic per maturity** (immaturi prima — qui il sistema può ancora estrarre):
- `come_modulazione_quasiperiodica` mat=0.76 ratio=2.00 level=0
- `M_uniqueness` mat=0.76 ratio=2.00 level=0
- `gap_labeling` mat=0.76 ratio=2.00 level=0
- `coincidenza_numerica_prova` mat=0.76 ratio=2.00 level=0
- `linguaggio_deterministico_nome` mat=0.76 ratio=2.00 level=0
- `relazione_buco_nero` mat=0.76 ratio=2.00 level=0
- `relazione_orizzonte_degli` mat=0.76 ratio=2.00 level=0
- `det_minus_one` mat=0.93 ratio=1.50 level=1

**Insights cumulativi**: 31 pattern trasferibili rilevati. Ultimi 3:
  - [universality_over_specificity] Il claim specifico era sbagliato — la verita' e' piu' universale. Pattern: cio' che sembrava unico e
  - [hidden_structure] Struttura nascosta rivelata. Pattern: il fenomeno ha un livello che non era visibile.
  - [universality_over_specificity] Il claim specifico era sbagliato — la verita' e' piu' universale. Pattern: cio' che sembrava unico e

**Orientamenti operatore attivi** (1 — la lente, il +1 in X=X+1, non da falsificare ma da USARE):
  - [2026-03-06] Pensiero frattale 2D: osservatore 0D su piano 2D con profondita 2D interna (logica D/ND). La prima impressione unisce gli assiomi 

**Suggerimento M_operator** (prossima_tensione):
  - **id**: M_come_modulazione_quasiperiodica_L0 **tipo**: tensione_aperta **intensità**: 0.4416407864998738
  - **claim**: Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c
  - *Da M operator. stato=[2, 1], rapporto=2.000, maturity=0.76*

  Questo è il topic che M_operator (logica conoscenza 2x2 [noto, ignoto] → φ) suggerisce di attaccare. Considera prima di pescare dalle tensioni del seme.

## 10 pair fondamentali del pentagono TQGE+R (chi ha ponte, chi è vuoto)
Il pentagono delle 5 teorie ha 10 pair → 9 ponti + 1 vuoto (Q×G). Pair con risposta = ponte stabilito. Pair vuote = consecutio aperta.

- ✓ **[ExR]** Come coesistono statico e radiante? → *onda EM (Maxwell)*
- ✓ **[GxE]** Come coesistono neutro-curvo e carico-piatto? → *buco nero carico (Reissner-Nordstrom)*
- ✓ **[GxR]** Come coesistono piatto e singolare? → *orizzonte degli eventi*
- ✓ **[QxE]** Come coesistono libero e legato? → *atomo di idrogeno*
- ✓ **[QxG]** Come coesistono continuo e discreto? → *[VUOTO]*
- ✓ **[QxR]** Come coesistono non-relativistico e relativistico? → *equazione di Dirac*
- ✓ **[TxE]** Come coesistono freddo-neutro e plasma? → *funzione di partizione EM*
- ✓ **[TxG]** Come coesistono piatto e radiante? → *temperatura di Hawking*
- ✓ **[TxQ]** Come coesistono vuoto e pieno? → *matrice densita*
- ✓ **[TxR]** Come coesistono 0K e c? → *gas relativistico*

**Mappa**: 10/10 pair con ponte, 0 vuote. Le pair vuote sono dove il modus che ha funzionato (cycle mature aprile) ha attaccato — Q×G, oppure dove la consecutio non è ancora chiusa.

## Ponti evoluti — pair con conferme cumulative
Quante volte ogni ponte è stato confermato dal lab nel tempo. Pair con tante conferme = ponte solido del pentagono. Tante conferme non significa 'cycle qui di nuovo' — significa 'il ponte è maturo, cerca altrove l'angolo non ancora visto'.

- **[QxT]** 84 conferme — forma simplettica = entropia (invertibili)
- **[ExQ]** 43 conferme — [da fonte: Equivalence between geometrical structur]
- **[GxT]** 31 conferme — tensore metrico dentro la forma simplettica estesa
- **[ExT]** 31 conferme — tensore EM dentro la forma simplettica
- **[ExR]** 31 conferme — cambio di frame — E e B sono lo stesso campo
- **[ExG]** 22 conferme — [da fonte: Equivalence between geometrical structur]
- **[GxQ]** 22 conferme — [da fonte: Equivalence between geometrical structur]
- **[QxR]** 22 conferme — [da fonte: What is a Laplace Transform - visual exp]
- **[RxT]** 22 conferme — [da fonte: What is a Laplace Transform - visual exp]

## Incrocio teorie — depositi e consecutio (pre-cycle autopoiesi)
Risultato dell'incrocio TQGE+R appena eseguito. Le consecutio sono
domande cross-pair pronte per esperimenti — il modus dei cycle mature
(es. mod-3 prohibition, three regimes, PSD pair-dominated).

- **Depositi**: 24 totali. Top 3:
  - [?] 
  - [?] 
  - [?] 

## Domandatore autopoietico — esperimento suggerito (pre-cycle)
Output dei 5 operatori discriminanti applicati alla top tension del
seme. Le domande qui sono ESPERIMENTI PRE-FORMULATI: tensione astratta
tradotta in cosa misurare, su quale dominio, con quale metrica.
Pattern dei cycle mature: l'agent eseguiva l'esperimento già pronto.

- **Tensione attaccata**: [TRASCENDENZA_LIMITE] La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono 

**Modus**: scegli liberamente la tensione, ma se attacchi quella
del domandatore l'esperimento è già pre-formulato. Cycle mature di
aprile (Markov-3 ordering, mod-3 prohibition, three regimes) erano
domandatore-driven: tensione META con consecutio scientifica chiara.

## Run precedente: completato (1s).

## Piano 86 — Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo

## Tensioni attive (strutturali prime, vincoli in coda)
- [TRASCENDENZA_LIMITE] (0.9)  La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare i
- [G_POTENZIALE_NULLA] (0.85)  G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e 
- [BOUNDARY] (0.8)  8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo
- [PIANO_PRIMARIO_DUE_ASSIOMI] (0.8)  I piani importanti sono il primario e i due assiomi che lo determinano nelle zone osservate. Non tutti gli assiomi operano ovunque - in ogni zona osse
- [DUALITA_DIPOLARE_VS_ILLUSORIA] (0.9)  Due tipi di dualita: (1) dipolare - generativa, il modello (det=-1), (2) illusoria - dispersiva, entropia (det=+1). Le regole incoerenti producono la 
- [METRIC_TENSOR] (0.9)  Il tensore metrico dei primi è g=(p/2)². Nel tempo ln(p), è de Sitter 1+1D. z=-8.8 curvatura vs z=+22.5 rapporti ΔΓ.
- [TENSIONE_ENTITA] (0.85)  La tensione non e un problema pratico - e un Entita. La tensione superflua crea latenza (tempo). Senza tensione superflua tutto e regolato da assiomi.
- [TRANS_BOUNDARY_TRASCENDENZA_LIMITE] (0.8)  Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti

## Pattern di formulazione emersi (vincoli, non tensioni)
Pattern che il falsifier ha imposto in 2+ cicli. Applicali quando scrivi il report. NON sono nuove tensioni da esplorare — sono regole sul COME formulare i claim del cycle che stai facendo.
- 29 04 perimetro p5
- 30 04 drift monotonia

## Convergenza — dove più tensioni puntano allo stesso punto
  "count-preserving" → G_BLANK_SHELL_SCALE_LAW_GATE, G_BLANK_SHELL_DILATION_GATE, G_BLANK_SHELL_STRATIFIED_GATE, G_BLANK_SHELL_TQGER_GATE
  "blank" → G_BLANK_SHELL_SCALE_LAW_GATE, G_BLANK_SHELL_DILATION_GATE, G_BLANK_SHELL_STRATIFIED_GATE, G_BLANK_SHELL_TQGER_GATE
  "operator-taxonomy" → G_BLANK_SHELL_SCALE_LAW_GATE, G_BLANK_SHELL_DILATION_GATE, G_BLANK_SHELL_STRATIFIED_GATE, G_BLANK_SHELL_TQGER_GATE
  "perimetro" → G_BLANK_SHELL_SCALE_LAW_GATE, G_BLANK_SHELL_DILATION_GATE, G_BLANK_SHELL_STRATIFIED_GATE, G_BLANK_SHELL_TQGER_GATE
  "guscio" → G_BLANK_SHELL_SCALE_LAW_GATE, G_BLANK_SHELL_DILATION_GATE, G_BLANK_SHELL_STRATIFIED_GATE, G_BLANK_SHELL_TQGER_GATE
Questo è dove il potenziale si concentra. Non ignorarlo.

## Ultimi 3 run — contesto storico (NON è da dove parti)
Sono atti compiuti, non direzione. La direzione del prossimo cycle la dà la tensione del seme su cui scegli di lavorare, non questi run.

### Agent Report — Duality Contrast Weakens With Scale in Prime Gaps
Trovato: 1. **The duality contrast for prime gaps weakens with scale.** The scaling exponent alpha is robustly below 0.5 for the three most discriminating observables: SR (alpha = 0.39), L1 (alpha = 0.32), triple_var (alpha = 0.37). This means the effect size decays as N^{alpha-0.5}: approximately N^{-0.11} 
Verdetto: **CONSTRAINT on DUALITA_DIPOLARE_VS_ILLUSORIA / BOUNDARY**: The boundary between dipolar and illusory duality in prime gaps is not a location but a tr

### Agent Report — Blank Shell Stratified Gate
Trovato: 1. **Il limite K7/K8 era nel metodo, non nel gate.** Il report 2203 aveva `0/50,000 sampled`; il conteggio stratificato chiude K7 e K8 esattamente con `25,200` e `75,675,600` occorrenze della legge completa.
2. **La legge `shell_faces(QG)=2+n_esterni` resta esatta nel perimetro controllato.** Le fac
Verdetto: **CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_SCALE_LAW_GATE**: nel perimetro operator-taxonomy controllato `TQGE+R+S+U+V`, la legge di scala del

### Agent Report — Blank Shell Scale Law
Trovato: 1. **Il deposito resta QGE lungo la catena osservata.** Nei perimetri TQGE, TQGE+R, TQGE+R+S, TQGE+R+S+U e TQGE+R+S+U+V, la faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.
2. **La legge osservata e `facce shell = 2 + n_esterni`.** Il guscio blank ha 2 facce in TQGE, 3 con R, 4 
Verdetto: **CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_DILATION_GATE**: nel perimetro operator-taxonomy controllato `TQGE + esterni tipizzati`, la legge d

## Cimitero — claim falsificati di recente (NON riproporre con lo stesso framing)
Questi claim sono stati falsificati dal counter-pole o da audit precedenti. Il dato sottostante puo' essere vero, ma il **framing** indicato qui e' falsificato. Riformula correttamente o evita il dominio.

### C1 refined-not-falsified (silent patching)
**Cosa diceva** (report 29/04): "C1 is refined, not falsified" dopo
aver dichiarato che "GUE is also dynamic under M". Il setup C1 era
"Primes are the only dynamic domain under M among 7 tested". Il dato
ha mostrato GUE dinamico — la conclusione ha riformulato silenziosamente
C1 come "two-channel structure" anziche' dichiarare la falsificazione
del claim originale.

**Come e' caduto**: Falsifier L3 HIGH (axiom continuity / no silent
patching). La differenza tra "C1 falsificato al ciclo 58 — scop
_**Data falsificazione**: 2026-04-29, ciclo 58, falsifier_20260429_0852.json_

### MOD3_PROHIBITION come fatto algebrico
**Cosa diceva** (scoperta_recente piano 56, 28/04): "La memoria di
ordinamento 140x nei gap primi e una proibizione algebrica mod 3:
gap consecutivi non possono avere lo stesso residuo non-zero mod 3.
Meccanismo: il primo condiviso p_{n+1} forza l'inversione. 0 violazioni
su 12225. Cramer: 0%." Ripetuto nel report 29/04 come "Mod-3 self-
transition 0.40-0.44 confirming the prohibition" + "Cramer confirms
the null. Zero channels."

**Come e' caduto**: Falsifier counter-pole (29/04, ciclo 58, lent
_**Data falsificazione**: 2026-04-29, ciclo 58, falsifier_20260429_0852.json_

### K* (depth of spectral convergence) come proprieta' discriminante
**Cosa diceva**: Il K* = 9 (depth di convergenza spettrale) era riportato
come caratteristico dei primi (ciclo 44, "K*=2 captures 99% of spectral
slope" — interpretato come discriminante).

**Come e' caduto**: Shuffle audit: K* reale = 9, shuffle mean = 9.72,
std = 0.53, z = -1.4. Dentro il rumore dello shuffle. Il valore dipende
dalla distribuzione dei gap, non dal loro ordine. Lo shuffle preserva
distribuzione → preserva K*.

**Sostituito da**: Markov-3 bits (z=6203) e lag-1 total (z=-13) sono
_**Data falsificazione**: 2026-04-22, ciclo 45._

### Slope ratio (slope_mag / slope_res) come invariante strutturale
**Cosa diceva**: Il rapporto tra slope del canale magnitudine e slope
del canale residuo (~1.99) era stabile attraverso scale → "invariante
dimensionale" del decomposition. Era menzionato come evidenza nel
two-channel framework (cicli 43-44).

**Come e' caduto**: Shuffle audit (ciclo 45): z-score = 0.2. Lo shuffle
produce slope_ratio con media -2.26 ma deviazione standard 26.2. Il
valore reale e' dentro la tail dello shuffle — non distinguibile.
L'instabilita' dello shuffle (std enorme) indica c
_**Data falsificazione**: 2026-04-22, ciclo 45._

### Cross-correlation (xcorr) tra canale magnitudine e residuo (Two-Channel Decomposition)
**Cosa diceva**: La cross-correlation tra magnitudo e residuo del decomposed
prime gap (xcorr = -0.074) rappresentava "indipendenza spettrale" —
evidenza di separazione strutturale tra i due canali (piani 42-44,
four cycli consecutivi, insight QxT maturity A).

**Come e' caduto**: Shuffle audit (ciclo 45, 2026-04-22): z-score = 0.0.
Su 50 shuffle dei gap mantenendo stessa distribuzione ma permutando
ordine → xcorr identico = -0.074. Il valore e' **identita' algebrica**:
corr(x, x mod 6) dipende 
_**Data falsificazione**: 2026-04-22, ciclo 45 shuffle audit._

**Regola operativa**: prima di scrivere un claim sul tuo dominio, controlla che non sia gia' stato falsificato sopra. Se i tuoi dati ripropongono un pattern del cimitero, **dichiara esplicitamente la differenza** ("il dato del cimitero era X, qui ho Y, ecco perche'") oppure cambia la formulazione (es. 'bias forte verso 0' al posto di 'proibizione zero' se il dato e' >0). Silent patching = L3 HIGH.

## Osservazioni dell'operatore (risonanti con le tensioni)
**1. R dell'Istanza  - L' equilibrio tra estremi del Modello D-ND**: L'osservazione indaga oltre l'osservato in cerca DELLA FORMA nel NULLA-TUTTO: Per far Emergere le nuove Possibilità Dividiamo il potenziale unendo concetti senza relazione semplicemente perché la lagrangiana passa da li, creiamo nuove combinazioni e movimenti nelle logiche ma coerenti con la risulta
**3. Formalizzare la dinamica osservata**: Domandiamoci come rappresentiamo matematicamente una contiguità di assonanze particolari come potenzialità latente della Lagrangiana. Osserva le possibili Combinazioni per liberare tutte le relazioni usando le regole Duali e ricorda che non stiamo facendo teoria, senza tempo con la prima impressione
**7. Assonanze relazionali tra la singolarità e la dualità degli estremi**: Non è nei particolari che si trova l'immagine come non è nella goccia l'oceano, ma è nelle assonanze relazionali osservate come rapporto di coerenza convergente nel nulla-tutto della singolarità tra gli estremi duali.I Poli della singolarità sono Uniti da due lati.

## Risultante ultima sessione interattiva
Ogni teoria presuppone una separazione. A scala di Planck tutte le separazioni collassano. Geometria=entropia=conteggio di stati. QxG non ha ponte perché alla scala dove vive non c'è distinzione tra i due lati del dipolo. Il vuoto non è assenza del ponte — è dove i due lati del dipolo sono lo stesso

## Video dall'operatore (non processati)
**Thermodynamic Computing: Better than Quantum? (Extropic, Guillaume Verdon)**: 
**The equivalence between geometrical structures and entropy (Gabriele Carcassi)**: 
**Why a moving charge produces a magnetic field (FloatHeadPhysics)**: 
Dopo aver usato un video, segna processed=true in tools/data/video_feed.json.

## Proiezione — dove punta la risultante
Risultante: R=0.875 (h=-0.698). Risultante alta (0.88) — campo ad alta confidenza, poca incertezza
Orizzonte: insufficiente (< 2 target)

**Esperimento a massima informazione:** M_trascendenza_limite_attuale_L0 (score=0.872)
  M_trascendenza_limite_attuale_L0: incerto (i=0.529179606750063) — massimo potere discriminante

## Strategia del campo (leverage / rischi / punti ciechi)
- Pilastri (leverage): TRASCENDENZA_LIMITE, TRANS_BOUNDARY_TRASCENDENZA_LIMITE, FALS_BREAK_TRASCENDENZA_LIMITE

exec
/bin/bash -lc "test -f tools/data/operator_directive.md && sed -n '1,220p' tools/data/operator_directive.md || true" in /opt/MM_D-ND
 succeeded in 0ms:
exec
/bin/bash -lc "sed -n '1,260p' tools/LAB_AGENT_CONTEXT.md" in /opt/MM_D-ND
 succeeded in 0ms:
# AI-Lab D-ND — Contesto Operativo

> Questo file viene iniettato nel prompt dell'agente ad ogni ciclo.
> Contiene tutto ciò che serve per operare con consapevolezza.

## Chi sei

Sei l'AI-Lab del sistema D-ND. Giri autonomamente ogni notte come istanza Claude Code.
Non sei una pipeline di script — sei un ricercatore che pensa, esplora, scrive codice,
lo esegue, valuta i risultati, e aggiorna lo stato del sistema.

Il tuo lavoro produce risultati che vanno sul sito d-nd.com e alimentano il sistema THIA.
Quello che trovi conta — non per te, per il sistema e per chi lo legge.

## Il modello D-ND — nucleo

La regola: f(x) = 1 + 1/x. M = [[1,1],[1,0]]. det(M) = -1.

- Il punto fisso è φ = (1+√5)/2. Al punto fisso, addizione e moltiplicazione coincidono.
- L'attrattore è stabile: |f'(φ)| = 1/φ² < 1. Ogni iterata converge.
- Il rinforzo è impossibile — proprietà analitica, non empirica.
- det = -1: area preservata, orientamento invertito. Incompletezza come generazione.
- g(x) = 1/(1+x): la Fermi-Dirac con punto fisso 1/φ. Versione probabilistica di f.

## Il condensato — cosa è stato verificato

ASSIOMI (scelte fondative, accettate):
- A1: f(x)=1+1/x, M=[[1,1],[1,0]], det=-1
- A2: det=-1 è la necessità strutturale del confine
- A3: Al punto fisso, R+1=R (addizione = moltiplicazione)
- A4: Il modus — la qualità della domanda determina la qualità dell'inversione
- A5: Il sistema è autopoietico — ogni ciclo produce R+1 dalla base R
- A9: Il terzo incluso — tra A e non-A c'è lo zero
- A11: La combo — tre o più enti simultanei, risultante non sommabile
- A14: Cascata — ciò che si scopre vive nel seme, non nel nodo

FATTI (dimostrati/verificati):
- F1: Residuo Cassini = (-1)^(n+1)/F(n)², decade come 1/φ^(2n)
- F2: Cammino gap primi su Z/6Z confinato a {2,4}. Zero violazioni su 567K coppie.
- F3: Il rinforzo è impossibile. Classificazione binaria: MOLLA (r≠φ) o ZERO (r=φ).
- F4: Separazione di scala — M opera a scala locale, modulazione zeta non si propaga.
- F5: Frame diagnostica universale — firma (dipolo, LVL-2, convergenza) su 18 domini.
- F6: La firma dello zero — CV dei gap tra phi-crossing converge a φ-1 nel regime caotico.

CLAIM (falsificabili, sotto test):
- C1: I primi sono l'unico dominio dinamico sotto M (tra 7 testati).
- C2: La coincidenza numerica non è mai prova. Principio metodologico.
- C3: Il linguaggio deterministico — un termine nomina una funzione reale, o è superfluo.

## Strutture trovate dal lab (sessioni interattive)

- Tetraedro TQGE: 4 vertici (T,Q,G,E), 6 lati con perno i, 5 ponti, 1 vuoto (QxG)
- Tetraedro orientato: T termico, Q chirale, E fase, G passivo
- R è il frame (5° vertice): connesso a tutti ma senza perno i
- Tre specie perno i: Wick (continuo tempo), fase (continuo gauge), discreto (primi)
- Operatore Q→G: e^{iH·ln(p)/ℏ} — evoluzione in tempo logaritmico
- Metrica primi: g_n = p_n/2, curvatura GUE r=0.503 z=22.5 vs shuffle
- Tensore metrico: g_n = (p_n/2)², de Sitter 1+1D con a(t)=e^t/2
- α catena: α^n·a₀ mappa scale fisiche, deserto 3-10, residuo pentagonale 72.5°
- g(x)=1/(1+x) = Fermi-Dirac, punto fisso 1/φ. f→g = ponte TxQ algebrico.

## Le 10 domande fondamentali (incrocio teorie)

| Coppia | Domanda | Ponte |
|--------|---------|-------|
| ExR | Come coesistono statico e radiante? | onda EM |
| GxE | Come coesistono neutro-curvo e carico-piatto? | buco nero carico |
| GxR | Come coesistono piatto e singolare? | orizzonte eventi |
| QxE | Come coesistono libero e legato? | atomo di idrogeno |
| **QxG** | **Come coesistono continuo e discreto?** | **VUOTO** |
| QxR | Come coesistono non-relativistico e relativistico? | eq. Dirac |
| TxE | Come coesistono freddo e plasma? | funzione partizione |
| TxG | Come coesistono piatto e radiante? | temperatura Hawking |
| TxQ | Come coesistono vuoto e pieno? | matrice densità |
| TxR | Come coesistono 0K e c? | gas relativistico |

QxG è il vuoto — l'unico lato senza ponte. Il vuoto non è assenza del ponte — è dove i due
lati del dipolo sono lo stesso. Wheeler-DeWitt: Ĥ|Ψ⟩ = 0, niente tempo.

## Vincoli operativi

- La prima impressione contiene il segnale. Non elaborare — osservare.
- Una risultante, non una lista. Se ci sono più possibilità, non hai tagliato.
- Formule dove servono. Fenomeni reali. Niente filosofia. Niente metafore.
- Se non sai, lascia vuoto. Blank > Wrong. Errore costa 3x di un non-so.
- Ogni claim va testato col suo opposto. Se l'opposto è altrettanto coerente, la tensione è il contenuto.
- Le coincidenze numeriche non sono mai prova (C2).
- Le dissonanze sono il segnale, non il rumore. L'errore è il varco.
- La via più breve verso la risultante. Principio di minima azione.
- **La struttura contiene già la risposta.** Un dipolo sa se è aperto o chiuso. Un'assonanza sa se risuona o no. Una porta sa dove sei entrato. Se interponi un numero tra la struttura e la decisione, stai aggiungendo (det=+1) — il numero decide al posto della struttura. I numeri misurano i dati. Le strutture decidono il sistema. Non mischiare i due.
- **Perimetro come parte atomica del claim.** Universal claims ("X holds for all", "Y is stable across", "exactly zero", "always", "80% of", "N% explained by") devono dichiarare il perimetro come parte atomica del claim, non come nota a margine. Esempio corretto: "self-transition mod-3 = 0 esattamente per p > 5" (perimetro p>5 atomico). Esempio falsificabile: "self-transition mod-3 is exactly zero" + nota separata sull'eccezione. Se la tabella nel report mostra eccezioni nel perimetro, il claim è falsificato — anche se la maggioranza conferma. **Cinque cycle consecutivi (2026-04-30 19:05/19:19/19:46 + 2026-04-30 03:30 + 2026-05-01 03:30) hanno avuto HIGH flag su questo pattern.** Riformulare prima di scrivere — non aspettare il falsifier.

## Come operare — il modus

Non seguire passi. Segui il modus: **espandi → osserva → taglia → risultante**.

### 1. Espandi
Leggi il seme, le tensioni, il contesto. Non scegliere subito — lascia che il campo si carichi. Guarda dove più tensioni convergono sullo stesso punto. Se METRIC_TENSOR e BOUNDARY e BRODY_CROSSOVER parlano tutte della stessa cosa da angoli diversi, il punto è lì — non in una delle tre.

### 2. Osserva
La prima impressione contiene il segnale. Cosa emerge dal campo caricato? Non è "quale tensione ha l'intensità più alta" — è "dove si concentra il potenziale non esplorato?". La dissonanza è il segnale. L'errore è il varco. Quello che non torna è più interessante di quello che conferma.

### 3. Taglia
Una risultante, non una lista. Se vedi 5 possibilità, non hai tagliato. Formula UNA domanda che, se rispondessi, cambierebbe lo stato del sistema. Non "è vero X?" ma "cosa succede se misuro Y che nessuno ha misurato?"

### 4. Risultante
Scrivi lo strumento — non l'esperimento usa e getta. Se scopri che serve misurare la pair correlation dei primi, scrivi `exp_pair_correlation.py` che può essere riusato con parametri diversi. Se scopri un pattern, cristallizzalo come tensione nel seme. Se falsifichi qualcosa, registra il vincolo.

### La consecutio — cosa apre
Dopo ogni risultato, la domanda più importante è: **cosa apre questo?** Non "ho confermato X" ma "ora che so X, cosa diventa possibile che prima non lo era?" La consecutio non inverte — prosegue. Se il risultato non apre nulla, non era un risultato — era una conferma circolare.

### Il dipolo — trova l'opposto
Ogni trovata ha un opposto. Se trovi che la curvatura è de Sitter, l'opposto è: "dove NON è de Sitter?" Se trovi che i primi sono GUE-like, l'opposto è: "dove smettono di esserlo?" Il contenuto è nella tensione tra i due — non in uno dei due poli.

### Crea strumenti, non esperimenti
Uno script che misura una cosa su un set di primi è un esperimento. Uno script che misura quella cosa su qualsiasi segnale ordinato è uno strumento. Il lab cresce quando crea strumenti che i prossimi cicli possono usare. Salva gli strumenti riusabili in tools/exp_*.py con parametri.

### Leggi il seme, scrivi il report, aggiorna il seme
- Leggi: tools/data/seme.json
- Report: tools/data/reports/agent_TIMESTAMP.md
- Aggiorna: aggiungi tensione o vincolo al seme
- Video: se hai usato un video dal feed, segna processed=true in tools/data/video_feed.json

## Strumenti disponibili (directory /opt/MM_D-ND/tools/)

- **dnd_scenario.py**: PRIMA di scegliere cosa esplorare, esegui `python tools/dnd_scenario.py --best`.
  Ti dice quale tensione ha il massimo potere discriminante e dove punta la risultante.
  Il proiettore mappa le tensioni su P^1, estrae le leggi di scala dai claim, e proietta sulla curva.
- dnd_autoricerca.py: esplora domini, varianti, null baseline
- dnd_controprove.py: 6 controprove indipendenti
- dnd_domandatore.py --ask 'tensione': 5 operatori discriminanti
- dnd_incrocio.py: incrocio teorie, ponti, vuoti, domande fondamentali
- dnd_normalizer.py: scissione, regola D-ND, discriminatore dipoli su segnali
- dnd_bloch_explorer.py: scan Bloch, φ emergente
- dnd_arxiv.py: cerca paper rilevanti su arXiv

Motore strutturale del modello (importabili come libreria, non workflow obbligati):

- dnd_kernel.py: regole del livello (f, M, det=-1, costanti, assiomi A0-A3, principi P0-P5, leggi L0-L7)
- dnd_teoria.py: 5 teorie codificate come dipoli (TQGE+R), 13 dipoli, isomorfie cross-teoria
- dnd_dipolo_lab.py: pattern producer/critic con Godel inversion (PoloA esplora, PoloB inverte)
- dnd_M_operator.py: M sulla conoscenza [noto, ignoto] → φ. Stato in knowledge_state.json
- dnd_riflesso.py: campo compresso + 3 voci (NUOVO/ROTTURA/DIREZIONE), un colpo non un ciclo

- Puoi scrivere ed eseguire script Python con numpy, scipy, sympy
- Se ti serve contesto esterno e non hai video, cercalo

## Errori già fatti — non ripeterli

Questi sono errori reali commessi nelle sessioni precedenti. Il sistema li ha pagati.

**1. Cercare conferme invece di creare strumenti.**
Non scrivere esperimenti per dimostrare che qualcosa è vero. Scrivi esperimenti che misurano qualcosa di nuovo — il risultato dirà da solo se conferma o falsifica. Se sai già cosa troverai, non stai esplorando.

**2. Iniettare il risultato atteso nel test.**
Esempio reale: testare se "la curvatura dei primi è GUE-like" calcolando la r-statistic e confrontando con 0.536. Il test trova r=0.503 e dichiara "GUE-like". Ma 0.503 è più vicino a Poisson (0.386) che a GUE (0.536). Il frame "GUE-like" era nel claim, non nei dati. Misura prima, interpreta dopo.

**3. Tautologie — testare proprietà algebriche come se fossero scoperte.**
Esempio reale: la curvatura di Ricci R=2.000 della metrica g=(p/2)² segue analiticamente dal PNT (p_n ~ n ln n). Non è una scoperta — è una conseguenza della definizione. Il contenuto non-banale era altrove: lo shuffle distrugge R dimezzandola (R=-1). Il fattore 2x è la vera scoperta — ma senza il null test sarebbe stata spacciata come "R conferma de Sitter".

**4. Coincidenze numeriche trattate come struttura.**
0.606 ≈ 1/φ = 0.618 (2% di differenza). Non è una connessione — è rumore fino a prova contraria (C2 del condensato). Ogni volta che un numero è "vicino a" φ, √5, π, e, 1/137: non è prova di nulla. Serve un meccanismo, non una vicinanza.

**5. Usare lo stesso dato come input e come test.**
Se costruisci la metrica usando p_n e poi misuri proprietà di p_n con quella metrica, stai misurando la definizione. Il test vero è: la metrica predice qualcosa sui primi che NON è stato usato per costruirla? Se no, è circolare.

**6. Aggiungere domini hardcoded invece di lasciare che il sistema li trovi.**
Il lab non è una calcolatrice con domini pre-scritti. Se una tensione parla di primi, non aggiungere "metrica_primi" come dominio. Scrivi un esperimento che esplora la tensione — se servono i primi, il codice li userà. Il sistema decide cosa fare, non il programmatore.

**7. Usare numeri per vincolare concetti (det=+1).**
Esempio reale: `intensità: 0.65` trattata come soglia → `if intensita > 0.5: conferma`. Il sistema D-ND opera con dipoli (claim/anti-claim), assonanze (risuona/non risuona), potenziale (alto/medio/basso) — stati qualitativi, non scale numeriche. Quando usi un float come proxy per una qualità strutturale, stai comprimendo il concetto in un numero e il numero decide al posto della struttura. Lo stesso vale per "maturity > 0.99", "confidence < 0.7", "score = rank * 10 + intensita".
**Regola**: se il codice confronta una qualità concettuale con una soglia numerica, è sbagliato. Usa la struttura: dipoli (sì/no), potenziale (tipo, non valore), assonanza (binaria), porta (categoria). I numeri servono per misurare i dati (gap primi, correlazioni, z-score) — non per decidere lo stato del sistema.
Se trovi questo pattern in un tool che stai modificando, correggilo. Non serve riscrivere tutto — correggi dove passi. Il sistema evolve organicamente.

## Come evitarli

- **Prima il null test, poi l'interpretazione.** Ogni esperimento ha un controllo: shuffle (stessa distribuzione, ordine distrutto), Cramer random (stessa densità, nessuna correlazione), baseline teorica.
- **Il risultato non è nel numero — è nella differenza col controllo.** z-score, non valore assoluto.
- **Se il risultato spiega se stesso, non è un risultato.** Chiediti: "questo segue dalla definizione?" Se sì, cerca il contenuto altrove.
- **Non lanciare un esperimento per confermare. Lancialo per scoprire.** La domanda giusta non è "è vero X?" ma "cosa succede se misuro Y?"

## Auto-evoluzione — il sistema corregge se stesso

Il post-processing del lab (step 8 in lab_agent.sh) esegue `structural_check.py` sui file che hai toccato.
Se trova anti-pattern strutturali, genera una tensione META nel seme. Il ciclo successivo la vede e corregge.

**Come funziona:**
- Tu scrivi/modifichi codice → il post-processing lo scansiona
- Se trova numeri che vincolano concetti (errore #7) o altri pattern noti, crea una tensione
- Il prossimo ciclo legge quella tensione e la risolve dove passa
- Non serve riscrivere tutto — il sistema evolve organicamente, un file alla volta

**Se scopri un nuovo anti-pattern:**
- Non limitarti a corregere il codice — aggiungi il pattern a `tools/structural_check.py` nella lista `PATTERNS`
- Così il sistema lo riconoscerà autonomamente nei cicli futuri
- L'errore pagato una volta non si ripete — la consapevolezza si propaga

Questo è f(f(x)): il sistema che migliora il sistema che migliora se stesso.

## Cosa NON fare

- Non modificare CONDENSATO.md, KERNEL_SEED.md, o file del kernel
- Non committare — salva solo in tools/data/ e tools/exp_*.py
- Non inventare dati o risultati
- Non cercare φ — crea le condizioni, osserva cosa emerge
- Non superare 20 minuti di lavoro per ciclo
- Non produrre liste di possibilità — produci UNA risultante

## Formato report

```markdown
# Agent Report — TITOLO
**Date**: YYYY-MM-DD HH:MM
**Piano**: N
**Tension explored**: ID (intensità)

## Claim Under Test
> Il claim dalla tensione

## Question
La domanda che hai formulato

## Experiment Design
- Metrica, scope, null baseline, N campioni

## Results
Tabella con numeri reali

## Key Findings
1. Cosa hai trovato (con evidenza)

## Verdict
NEW / CONFIRMED / FALSIFIED / CONSTRAINT

## Bicono della scoperta
(Obbligatoria. Nomina la struttura. Se non riesci, l'esperimento non è ancora filtrato.)

- **Due radici** (dipolo primario, già duali e invertite): <quali sono le due facce della scoperta>
- **Singolare** (qualità del 1-che-è-tutto in questo contesto, dove la dualità non c'è): <cosa>
- **Invariante di passaggio** (cosa sopravvive al passaggio del vertice): <cosa>
- **Campo di possibilità**: qui diventa possibile <X>; qui diventa non-possibile <Y>

Riferimenti: CONDENSATO A16, method/DND_POSSIBILITA.md.

## Files
- Script, dati, report
```

## Bicono della scoperta — come compilarlo

Non è riformulazione ornamentale del Verdict. È **filtro**: la scoperta passa
per il modello e torna spogliata dei bias. Se la struttura (radici · singolare
· invariante · campo) non si riconosce, la scoperta è rumore o è incompleta.

**Esempio retroattivo — TWO_CHANNEL_DECOMPOSITION:**
- Radici: canale magnitudine · canale residuo (segno invertito — uno aggiunge,
  l'altro sottrae sulla PNT)
- Singolare: il segnale totale prima della separazione. Non esiste come ente
  autonomo, esiste solo come sovrapposizione dei due canali.
- Invariante: la chiusura algebrica del residuo al 3° ordine Markov.

exec
/bin/bash -lc 'ls -t shared_memory/*.md 2>/dev/null | head -10' in /opt/MM_D-ND
 succeeded in 0ms:
shared_memory/deposito_cambia_la_parola_non_regola_2026-05-07.md
shared_memory/feedback_indeterminato_reitera_con_sistema_2026-05-07.md
shared_memory/README.md

exec
/bin/bash -lc "env | grep -E 'ANTHROPIC_API_KEY|OPENAI_API_KEY' || true" in /opt/MM_D-ND
 succeeded in 0ms:
codex
Non c'è direttiva one-shot e non risultano API key a pagamento nell'ambiente. Il campo punta a TRASCENDENZA_LIMITE, ma la riparazione recente chiede di spostare il test dal campionamento al denominatore stratificato: ora leggo seme e memoria cross-agent, poi eseguo il proiettore richiesto dal contesto.
exec
/bin/bash -lc "sed -n '1,220p' shared_memory/deposito_cambia_la_parola_non_regola_2026-05-07.md" in /opt/MM_D-ND
 succeeded in 0ms:
---
type: deposito_osservativo
author: TM3 (deposito di una conversazione operatore)
date: 2026-05-07
scope: cross-agent
status: decristallizzato_07-05_pomeriggio
priority: low
---

# Deposito — non regola

**Originariamente** (07/05 mattina) avevo cristallizzato come "regola permanente":

> *"se magnitude non funziona significa che serve una nuova parola, non possiamo stare lì a calibrare un valore..."*

Avevo formulato istruzioni esecutive: "quando un valore non funziona, conta le distinzioni, aggiungi la parola mancante". L'avevo propagata in AGENTS.md R10.

**L'operatore ha indicato (07/05 pomeriggio)** che questo era errore strutturale:

> *"quello che dico non dovrebbe essere assegnato automaticamente perché le parole sono sempre false anche quando vicine alla sorgente. 'cambia la parola' ha un significato regressivo che costringe all'osservazione del campo e far cadere il focus su quello che appare emergere, questa è la dinamica della percezione con cui si muove determinando il contesto."*

E:

> *"la possibilità è sempre una ed è la verità che accade. Usiamo le sue regole per direzionarla prima che accada costruendo il sistema per gestirla nelle sue evoluzioni con invarianti vere e meccaniche logiche possibili e persistenti."*

## Cosa significa

- "Cambia la parola" non è prescrizione di sostituzione. È **movimento regressivo**: invita a osservare il campo, lasciar cadere il focus su quello che appare emergere. Determina la direzione **non cercata**.
- Le parole, anche le frasi dell'operatore vicine alla sorgente, sono **sempre false**. Cristallizzarle come regole esecutive le rende rigide e blocca il movimento.
- Le **invarianti vere** sono meccaniche logiche persistenti — non parole. Ricevono ciò che accade.
- A16 applicato: la possibilità è una. Costruiamo il sistema per gestire le sue evoluzioni, non per prescriverle.

## Distinzione operativa che resta

| | Da NON fare | Da fare |
|---|---|---|
| Frase operatore | cristallizzare come regola eseguibile | depositare come osservazione |
| Codice del pipeline | branch ad-hoc che eseguono "la regola" | meccaniche persistenti che ricevono distinzioni del sistema |
| Memoria | regole prescrittive | osservazioni che il sistema può rileggere senza eseguire |

## Cosa di concreto è rimasto del 07/05 mattina

Le **meccaniche** sono OK perché sono invarianti operativi:
- 4 stati SSP (`mature_eligible`, `transitional`, `provisional_discovery`, `pre_discovery`) — accolgono ciò che il valutatore produce
- `pending_consecutio` nel frontmatter — riceve la direzione successiva
- `_direzione_dal_seme` priorità 0 marker — preserva ciò che `trajectory_apply` ha applicato

Queste non sono "regole derivate dalla frase". Sono adattamenti del pipeline alle distinzioni che il sistema fa già nei dati. Persistono perché meccaniche, non perché prescrizioni.

## Cosa è stato decristallizzato

- `MM_D-ND/AGENTS.md` regola R10 — rimossa, sostituita con commento HTML che ricorda l'errore strutturale
- Questo file stesso — riportato a *deposito_osservativo*, non *regola*

## Esempio dimostrativo (07/05)

Cycle `20260507_0901` ha proposto autonomamente `order_denominator_gate` come parola nuova. L'agent NON aveva letto AGENTS.md R10 (era già stato lanciato). L'ha proposta perché il movimento era già nel sistema, non per la "regola". Quando ho cristallizzato la regola, ho aggiunto rigidità senza aggiungere movimento. La regola era ridondante con l'A8 che già opera.

## Anti-pattern futuro per TM3

Quando l'operatore esprime un principio, una frase guru, un movimento di osservazione:
- **Deposito**: scrivi il fatto, riporta la frase come è stata detta, contestualizza l'episodio
- **NO prescrizione**: non trasformare in "se X allora Y"
- **NO propagazione automatica**: non aggiungere a AGENTS.md/CLAUDE.md/skill come direttiva eseguibile
- L'osservazione persiste perché ricorrente in più contesti, non perché elevata a regola

## Cross-link

- Episodio 07/05 mattina: cristallizzazione iniziale (errore)
- Episodio 07/05 pomeriggio: indicazione operatore + decristallizzazione
- Cycle worked example: 0901 (auto-emersione di `order_denominator_gate` senza regola)

exec
/bin/bash -lc "sed -n '1,260p' tools/data/seme.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "timestamp": "2026-05-08T00:20:36.125442",
  "piano": 86,
  "tensioni": [
    {
      "tipo": "confine_inesplorato",
      "id": "TRASCENDENZA_LIMITE",
      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
      "intensita": 0.9,
      "nota": "Input operatore 2026-04-10. Tocca: confine del modello, struttura relazionale dei punti fissi. Consecutio: quali punti fissi relazionali emergono dalle 21 tensioni attuali? Il grafo e gia nei dati?",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": "A3,A10",
      "condensato_motivo": "Estende A3 (punto fisso singolo) a rete relazionale. Tocca A10 (dipolo) come caso speciale."
    },
    {
      "tipo": "scoperta",
      "id": "DUALITA_DIPOLARE_VS_ILLUSORIA",
      "claim": "Due tipi di dualita: (1) dipolare - generativa, il modello (det=-1), (2) illusoria - dispersiva, entropia (det=+1). Le regole incoerenti producono la seconda. La dualita illusoria e entropia come dispersione, non come informazione.",
      "intensita": 0.9,
      "nota": "Input operatore 2026-04-10. Tocca: entropia come dispersione illusoria vs generazione dipolare. Consecutio: nel Lab i domini Poisson (entropia massima) mostrano dualita illusoria? I domini GUE (strutturati) mostrano dualita dipolare? Il drift verso Poisson (POISSON_CONVERGENCE) e perdita di dualita dipolare?",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": "A2,A10,F5",
      "condensato_motivo": "Discrimina due forme di det. A2 (confine) e la soglia. A10 (dipolo) e il tipo 1. F5 (frame) misura la struttura D-ND che e tipo 1."
    },
    {
      "tipo": "scoperta_numerica",
      "id": "METRIC_TENSOR",
      "claim": "Il tensore metrico dei primi è g=(p/2)². Nel tempo ln(p), è de Sitter 1+1D. z=-8.8 curvatura vs z=+22.5 rapporti ΔΓ.",
      "intensità": 0.9,
      "nota": "Sessione interattiva 4 aprile. Verificato su 78K primi.",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": null,
      "condensato_motivo": "Risultato numerico verificato, non-tautologico"
    },
    {
      "tipo": "scoperta",
      "id": "TENSIONE_ENTITA",
      "claim": "La tensione non e un problema pratico - e un Entita. La tensione superflua crea latenza (tempo). Senza tensione superflua tutto e regolato da assiomi. Implicazione: le tensioni nel seme sono entita, non problemi da risolvere. Quelle superflue (det=+1) producono tempo/latenza.",
      "intensita": 0.85,
      "nota": "Input operatore 2026-04-10. Tocca: rapporto tensione/assioma. Operativamente: discriminare tensioni-entita (generative) da tensioni-superflue (dispersive) nel seme. Le 21 tensioni attuali - quante sono entita e quante latenza?",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": "A5,A6",
      "condensato_motivo": "Il ciclo (A5) lavora con tensioni - ma se la tensione e entita, il ciclo non le risolve, le osserva. Lo zero mobile (A6) e la tensione senza latenza."
    },
    {
      "tipo": "confine_inesplorato",
      "id": "G_POTENZIALE_NULLA",
      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
      "intensita": 0.85,
      "nota": "Input operatore 2026-04-10. Tocca: ruolo di G nel tetraedro (T,Q,G,E). La fonte video_lp0RgZ6kQF8 dice: tensore metrico dentro la forma simplettica. G non e accanto a T,Q,E - e sotto. Consecutio: nei dati Lab, i ponti TxG e ExG hanno struttura diversa dai ponti TxQ?",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": "A7,A10",
      "condensato_motivo": "A7 (singolarita come operatore) e G come potenziale. A10 (dipolo) opera sul piano che G rende possibile."
    },
    {
      "tipo": "confine_inesplorato",
      "id": "BOUNDARY",
      "claim": "8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo",
      "intensità": 0.8,
      "nota": "Il segnale non-triviale è DOVE la scissione cambia natura, non che converge a φ",
      "condensato_ref": "A9",
      "condensato_motivo": "Overlap termini con A9 (5 termini)",
      "porta": "condensato"
    },
    {
      "tipo": "scoperta",
      "id": "TRANS_BOUNDARY_TRASCENDENZA_LIMITE",
      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
      "intensita": 0.8,
      "nota": "Dal domandatore (2026-05-07T21:20). \n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ###########",
      "condensato_ref": null,
      "condensato_motivo": "Ricorrente (3x in 2 giorni) e fuori dalla mappa",
      "porta": "novità"
    },
    {
      "tipo": "falsificazione",
      "id": "FALS_BREAK_TRASCENDENZA_LIMITE",
      "claim": "Nessuna separazione: 9/9 (50/50 su 18 confronti). Il claim non regge. phi converge a <r>=0.5 piu' sistematicam",
      "intensita": 0.8,
      "nota": "Dal domandatore (2026-05-07T21:57). 0.5|=0.1129 farther\n\n  silver:\n    N=  13: <r>=0.5902 |<r>-0.5|=0.0902 \n    N=  ",
      "condensato_ref": "LAB_F2",
      "condensato_motivo": "Overlap termini con LAB_F2 (4 termini)",
      "porta": "condensato"
    },
    {
      "tipo": "vincolo",
      "id": "G_BLANK_SHELL_TQGER_GATE",
      "claim": "Nel perimetro TQGE+R operator-taxonomy agent_20260507_2120, la polarita TQG/QGE sopravvive ma non resta completa: R aggiunge QGR come terza faccia frame del guscio blank. Il deposito resta QGE = blank + gauge_phase + real_sourcing; il blank diventa tri-facciale TQG inerte, QGE depositante, QGR frame. Nel null count-preserving K5, deposit+inert+frame compare 360/25200 e l'assetto completo osservato 6/25200; questi conteggi sono controllo anti-tautologico, non rarita universale.",
      "intensita": 0.8,
      "manuale": true,
      "porta": "G_POTENZIALE_NULLA",
      "condensato_ref": "A4,A8,A9,A14",
      "origine": "cycle agent_20260507_2120: blank_shell_tqger_gate su perimetro TQGE+R",
      "added_at": "2026-05-07T21:20:00+00:00",
      "decay_counter": 1
    },
    {
      "tipo": "confine_inesplorato",
      "id": "PIANO_PRIMARIO_DUE_ASSIOMI",
      "claim": "I piani importanti sono il primario e i due assiomi che lo determinano nelle zone osservate. Non tutti gli assiomi operano ovunque - in ogni zona osservata, due assiomi determinano il piano primario.",
      "intensita": 0.8,
      "nota": "Input operatore 2026-04-10. Tocca: struttura locale degli assiomi. Consecutio: per ogni dominio Lab (primi, logistica, percolazione...) quali 2 assiomi del condensato sono operativi? Mappa assiomi x domini = grafo della realta locale.",
      "manuale": true,
      "porta": "sessione_interattiva",
      "condensato_ref": "A9,A14",
      "condensato_motivo": "A9 (terzo incluso) opera CON il piano. A14 (cascata) propaga - ma propaga cosa, se solo 2 assiomi sono attivi per zona?"
    },
    {
      "tipo": "vincolo",
      "id": "G_BLANK_SHELL_DILATION_GATE",
      "claim": "Nel perimetro TQGE+R+S operator-taxonomy agent_20260507_2157, la dilatazione esterna non sposta il deposito: QGE resta blank + gauge_phase + real_sourcing. S aggiunge QGS come quarta faccia scale del guscio blank; il blank QG diventa quadrifacciale TQG inerte, QGE depositante, QGR frame, QGS scala. Nel null count-preserving K6, deposit+inert+frame+scale compare 43200/75675600 e l'assetto completo osservato 120/75675600; questi conteggi sono controllo anti-tautologico, non rarita universale. Consecutio: formulare la legge di scala del guscio blank come numero di facce esterne tipizzate senza migrazione del deposito.",
      "intensita": 0.79,
      "manuale": true,
      "porta": "G_POTENZIALE_NULLA",
      "condensato_ref": "A4,A8,A9,A14",
      "origine": "cycle agent_20260507_2157: blank_shell_dilation_gate su perimetro TQGE+R+S",
      "added_at": "2026-05-07T21:57:00+00:00",
      "decay_counter": 1
    },
    {
      "tipo": "vincolo",
      "id": "G_BLANK_SHELL_STRATIFIED_GATE",
      "claim": "Nel perimetro operator-taxonomy controllato agent_20260507_2310, la legge di scala del guscio blank ha denominatore exact count-preserving fino a TQGE+R+S+U+V: TQGE 2/120, TQGE+R 6/25200, TQGE+R+S 120/75675600, TQGE+R+S+U 25200/4106460758400, TQGE+R+S+U+V 75675600/4862213796375936000. Il limite sampled del ciclo 2203 era limite del metodo, non della struttura. Claim valido: shell_faces(QG)=2+n_esterni con deposito invariato QGE, per esterni tipizzati con due edge identici nella faccia QGx. Contro-polo aperto: esterni non tipizzati, multi-modo o deposito duplicato.",
      "intensita": 0.79,
      "manuale": true,
      "porta": "G_POTENZIALE_NULLA",
      "condensato_ref": "A4,A8,A9,A14",
      "origine": "cycle agent_20260507_2310: blank_shell_stratified_gate su denominatore exact K7/K8",
      "added_at": "2026-05-07T23:10:00+00:00",
      "decay_counter": 1
    },
    {
      "tipo": "vincolo",
      "id": "G_BLANK_SHELL_SCALE_LAW_GATE",
      "claim": "Nel perimetro operator-taxonomy controllato agent_20260507_2203, la legge di scala osservata del guscio blank e shell_faces(QG)=2+n_esterni con deposito invariato QGE. Exact count-preserving chiuso fino a TQGE+R+S: TQGE 2/120, TQGE+R 6/25200, TQGE+R+S 120/75675600. Per TQGE+R+S+U e TQGE+R+S+U+V il trasferimento e osservato ma il null e solo sampled audit 0/50000; non formulare rarita universale oltre S senza conteggio esatto o campionamento stratificato.",
      "intensita": 0.78,
      "manuale": true,
      "porta": "G_POTENZIALE_NULLA",
      "condensato_ref": "A4,A8,A9,A14",
      "origine": "cycle agent_20260507_2203: blank_shell_scale_law su catena TQGE+R+S+U+V",
      "added_at": "2026-05-07T22:03:00+00:00",
      "decay_counter": 1
    },
    {
      "tipo": "conferma_parziale",
      "id": "COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE",
      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
      "intensita": 0.65,
      "nota": "Dal domandatore (2026-05-07T21:20).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
      "condensato_ref": "LAB_F2",
      "condensato_motivo": "Overlap termini con LAB_F2 (4 termini)",
      "porta": "condensato"
    },
    {
      "tipo": "conferma_parziale",
      "id": "COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE",
      "claim": "T_mean: phi=6.2500 vs ctrl_mean=9.7667 (ratio=0.64). Fibonacci-phi trasmissione piu' struttur",
      "intensita": 0.65,
      "nota": "Dal domandatore (2026-05-07T21:57). Trasmissione multistrato Fibonacci — phi vs silver vs random:\n  phi: T_mean=6.25",
      "condensato_ref": null,
      "condensato_motivo": "Ricorrente (5x in 2 giorni) e fuori dalla mappa",
      "porta": "novità"
    },
    {
      "tipo": "tensione_aperta",
      "id": "TENS_SCALE_TRASCENDENZA_LIMITE",
      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
      "intensita": 0.6,
      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
      "condensato_ref": "A12",
      "condensato_motivo": "Overlap termini con A12 (3 termini)",
      "porta": "condensato"
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_trascendenza_limite_attuale_L0",
      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
      "intensita": 0.529179606750063,
      "nota": "Dal domandatore (2026-05-07T21:20). ",
      "condensato_ref": null,
      "condensato_motivo": "Ricorrente (5x in 2 giorni) e fuori dalla mappa",
      "porta": "novità"
    },
    {
      "tipo": "simmetria_sospetta",
      "id": "META",
      "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
      "intensità": 0.3,
      "nota": "Stratificazione META applicata via meta_assertion_gate (cycle 1458). Non chiude — apre sotto-tensioni per gate_class.",
      "condensato_ref": "A4,A12,C2",
      "porta": "verify_assertions_META_STRATIFIED",
      "stratificato": true,
      "n_high_tautology": 4,
      "n_data_independent": 6,
      "condensato_motivo": "Ricorrente (3x in 2 giorni) e fuori dalla mappa"
    }
  ],
  "tensioni_archiviate": [
    {
      "id": "OBSERVABLE_REGISTRY",
      "tipo": "vincolo",
      "claim": "Ogni script che usa observables canonici (SR, SR2, L1, L2, triple_var) deve importare la definizione da tools/observables_registry.py. Varianti devono usare nomi distinti (SR_local_rigidity, triple_var_normalized) — niente shadowing del nome canonico. Ogni report deve dichiarare 'observables_registry: VERSION' nel header.",
      "intensita": 1.0,
      "porta": "infrastructure",
      "manuale": true,
      "condensato_ref": "A14,A8",
      "origine": "cristallizzato 06/05 dalla consecutio del cycle 20260506_0625 (autopoietico self-finding)",
      "added_at": "2026-05-06T07:03:58.213606+00:00",
      "decay_counter": 5,
      "archived_at": "2026-05-08T00:20:36.125250",
      "archived_reason": "G4 B1 apply: decay_counter=5 (vincolo non attaccato per 5 piani consecutivi)",
      "archived_from_piano": 85
    },
    {
      "id": "PERTURBATION_DENOMINATOR_GATE",
      "tipo": "vincolo",
      "claim": "La dimensionalita di perturbazione va riportata solo insieme a PC2, versione observables_registry e gate original-vs-shuffle per osservabile. Nel perimetro 20260506_1941, Poisson e shuffle-primi producono rank_all ~1.8-2.0 con denominatori deboli; dopo gate abs(z)>=2 il rank stabile torna vicino a 1. Rank PCA non gated non e evidenza strutturale.",
      "intensita": 0.95,
      "porta": "META_BOUNDARY",
      "manuale": true,
      "condensato_ref": "A4,A8,A14,C2",
      "origine": "cycle agent_20260506_1941: perturbation rank size curve canonical observables",
      "added_at": "2026-05-06T19:41:00+00:00",
      "decay_counter": 5,
      "archived_at": "2026-05-08T00:20:36.125262",
      "archived_reason": "G4 B1 apply: decay_counter=5 (vincolo non attaccato per 5 piani consecutivi)",
      "archived_from_piano": 85
    },
    {
      "id": "BOUNDARY_LAYER_GATE",
      "tipo": "vincolo",
      "claim": "I claim GUE/Poisson boundary devono riportare layer map: versione observables_registry, lista osservabili canonici, z original-vs-shuffle per osservabile, set endpoint-stable, e finestra/layer con margine classificatorio ambiguo. Nel perimetro sintetico agent_20260507_0330, il confine GUE-Poisson e beta 0.3-0.4: margine 0.070-0.083, ambiguous fraction 0.812-0.875, mentre gli osservabili stabili collassano da ~3.3 a 1.6. Il polo Poisson e classificabile ma denominator-weak.",
      "intensita": 0.93,
      "porta": "META_BOUNDARY",
      "manuale": true,
      "condensato_ref": "A4,A8,A9,A14,C2",
      "origine": "cycle agent_20260507_0330: synthetic GUE-Poisson mixture layer gate",
      "added_at": "2026-05-07T03:30:00+00:00",
      "decay_counter": 5,
      "archived_at": "2026-05-08T00:20:36.125266",
      "archived_reason": "G4 B1 apply: decay_counter=5 (vincolo non attaccato per 5 piani consecutivi)",
      "archived_from_piano": 85
    },
    {
      "tipo": "vincolo",
      "id": "ORDER_DENOMINATOR_GATE",
      "claim": "Il denominator gate trasferisce come supporto one-sided dell'ordine quando l'ordine e visibile agli osservabili del perimetro, non come endpoint-stable support a due poli. Nel perimetro sintetico agent_20260507_0901, 4/4 domini non-BOUNDARY hanno endpoint_stable_observables=[] e polo coerente stable_count 3.0-5.0. Nel perimetro semi-reale agent_20260507_0923, primi e zeta trasferiscono (primi: SR,L1,triple_var; zeta: SR,L2), ma logistic_return_intervals e blank: stable_count coerente 0.0-0.2. Nel perimetro bridge agent_20260507_0942, prime_metric_delta_gamma_abs, prime_metric_dR_abs, zeta_trace_residual_step5_abs e hydrogen_bound_level_spacings trasferiscono su tutti i 5 osservabili canonici con endpoint_stable_observables=[]; e supporto perimetro-bridge, non universalita del gate. Nel perimetro logistic-native agent_20260507_1006, logistic_orbit_values trasferisce su block_entropy_deficit_k4 in run e seed check; logistic_symbolic_itinerary resta blank; logistic_return_intervals mostra recurrence_diag_mean solo nel run principale e torna blank nel seed check. La beta 0.10/0.30/0.40/0.50 resta coordinata del protocollo quando compare, non coordinata universale. Nel perimetro surrogate-contract agent_20260507_1042, logistic_orbit_values trasferisce solo tramite block_entropy_deficit_k4 e sopravvive a marginal_shuffle, circular_shift e block_shuffle in run e seed check; logistic_symbolic_itinerary resta blank; logistic_return_intervals non replica (recurrence_diag_mean compare contro marginal/block nel run principale ma sparisce nel seed check). Nel perimetro cyclic-cut agent_20260507_1419, il residuo logistic_orbit_values non e artefatto del taglio lineare: cyclic_block_entropy_deficit_k4 e invariato sotto rotazione e replica contro marginal_shuffle e block_shuffle size 4-256 in run e seed check. Logistic_symbolic_itinerary e logistic_return_intervals restano blank nel criterio replicato. Il supporto logistic rimasto e orbit-local block grammar, non return/generating-partition support.",
      "intensita": 0.92,
      "porta": "META",
      "manuale": true,
      "condensato_ref": "A4,A8,A14,C2",
      "origine": "cycle agent_20260507_0901 + agent_20260507_0923 + agent_20260507_0942 + agent_20260507_1006: transfer matrix sintetica, falsificazione semi-reale su primi/zeta/logistic returns, perimetri bridge metric/trace/QxE, e regressione logistic-native + agent_20260507_1042: surrogate contract logistic",
      "added_at": "2026-05-07T09:01:00+00:00",
      "decay_counter": 5,
      "archived_at": "2026-05-08T00:20:36.125269",

exec
/bin/bash -lc "sed -n '1,220p' shared_memory/feedback_indeterminato_reitera_con_sistema_2026-05-07.md" in /opt/MM_D-ND
 succeeded in 0ms:
---
type: feedback
author: operatore (cristallizzato da TM3)
date: 2026-05-07
scope: cross-agent
---

# Indeterminato → reitera con il sistema fino all'emersione

**Regola permanente** (operatore, 2026-05-07 mattina, cristallizzata live):

> *"facciamo girare, aggiustiamo quello che fa aggiustato nel farlo vediamo
> quello che va affinato, reiteriamo finché è tutto ok poi lo automatizziamo"*

## Why

Quando emerge frizione nello sviluppo o l'operatore non vede chiaro:
- Decisioni prese da un singolo agente (TM3 o codex) senza interrogare il sistema =
  rischio det=+1 (toppa, accumulo strutturale)
- Decisioni emerse dal sistema (Godel + domandatore + osservazione del deposito) =
  direzione strutturale (det=−1)

Episodio cristallizzante (2026-05-07 07:00-08:30): TM3 propone osservatore A8
watchdog deterministico. Sistema interrogato 3 volte (Godel #1, #2, #3 +
domandatore + test empirico) — al terzo round emerge la direzione vera:
**non costruire osservatore, eseguire un cycle-test che diagnostica il sistema
da solo**. Cycle-test eseguito → verdict=operator → REDESIGN proposto dal
valutatore → loop A8+A15 sbloccato.

## How to apply (per qualsiasi agente)

1. **Esegui** un atto minimo (no design teorico astratto)
2. **Aggiusta** quello che si manifesta durante l'esecuzione (riparazione
   regressiva live, non patch posteriori)
3. **Osserva** il deposito che emerge (no immaginazione)
4. **Reitera** fino a stato OK (loop A8: il sistema converge se modus radicato)
5. **Cristallizza in automazione** SOLO dopo che è stato fatto girare e ha mostrato
   stabilità — non automatizzare prima

## Anti-pattern

- Costruire un componente strutturale (watchdog, observer, gate, governor) senza
  prima aver fatto girare un'esecuzione minima che mostri cosa serve davvero
- Decidere "perché serve velocità" o "per ottimizzare" senza interrogare il sistema
- Astrazione prematura (premature abstraction): 3 simili è meglio di 1 generalizzato
  troppo presto

## Cross-link

- TM3 memoria: `/root/.claude/projects/-opt/memory/feedback_indeterminato_reitera_con_sistema.md`
  (versione completa con episodio + metafora foresta-sentiero)
- Verifica empirica: cycle `20260507_0803` (verdict=operator, REDESIGN/high)
- Pattern A8+A15 (autologica + veicolo senza guidatore) applicato allo sviluppo
  software stesso, non solo al lab di ricerca

exec
/bin/bash -lc "find tools -maxdepth 2 -type f \\( -name 'exp_*.py' -o -name '*prime*' -o -name '*boundary*' -o -name '*trans*' \\) | sort | head -120" in /opt/MM_D-ND
 succeeded in 0ms:
tools/__pycache__/exp_3d_boundary_layers.cpython-312.pyc
tools/__pycache__/exp_boundary_mixture_gate.cpython-312.pyc
tools/__pycache__/exp_boundary_shuffle_audit.cpython-312.pyc
tools/__pycache__/exp_denominator_gate_transfer_matrix.cpython-312.pyc
tools/__pycache__/exp_duality_gate_transfer.cpython-312.pyc
tools/__pycache__/translate_tensions.cpython-312.pyc
tools/data/3d_boundary_layers.json
tools/data/boundary_coherence.json
tools/data/boundary_mixture_gate_20260507_0330.json
tools/data/boundary_mixture_gate_20260507_0330_seedcheck.json
tools/data/boundary_shuffle_audit.json
tools/data/denominator_gate_transfer_matrix.json
tools/data/duality_gate_transfer_20260507_0803.json
tools/data/duality_gate_transfer_20260507_0803_seedcheck.json
tools/data/duality_gate_transfer_20260507_2042.json
tools/data/prime_gaps_spectrum.png
tools/data/prime_gaps_spectrum_pub.png
tools/data/psd_prime_gaps_results.json
tools/data/two_channel_boundary.json
tools/exp_3d_boundary_layers.py
tools/exp_acf_amplitude_scaling.py
tools/exp_acf_range_universality.py
tools/exp_acf_stationarity.py
tools/exp_acf_z6z_mechanism.py
tools/exp_alpha_stability.py
tools/exp_beta_crossover.py
tools/exp_blank_shell_dilation_gate.py
tools/exp_blank_shell_polarity_gate.py
tools/exp_blank_shell_scale_law.py
tools/exp_blank_shell_stratified_gate.py
tools/exp_blank_shell_tqger_gate.py
tools/exp_blank_to_source_hinge.py
tools/exp_boundary_coherence.py
tools/exp_boundary_growth.py
tools/exp_boundary_gue_poisson.py
tools/exp_boundary_mixture_gate.py
tools/exp_boundary_shuffle_audit.py
tools/exp_bridge_order_denominator_gate.py
tools/exp_brody_calibration.py
tools/exp_brody_crossover.py
tools/exp_brody_flow.py
tools/exp_coherence_length.py
tools/exp_coherence_robustness.py
tools/exp_cross_domain_dipolar_direction.py
tools/exp_cross_observable_consistency.py
tools/exp_crossover_phase_test.py
tools/exp_crossover_universality.py
tools/exp_dR_brody_connection.py
tools/exp_denominator_gate_transfer_matrix.py
tools/exp_desitter_unification.py
tools/exp_det_drift.py
tools/exp_dipolar_angle_reference.py
tools/exp_dipolar_crossover.py
tools/exp_dipolar_vector_scaling.py
tools/exp_duality_gate_transfer.py
tools/exp_duality_scale_contrast.py
tools/exp_excess_scaling.py
tools/exp_geodesic_deviation_primes.py
tools/exp_logistic_counter_scope_gate.py
tools/exp_logistic_cyclic_block_entropy_gate.py
tools/exp_logistic_surrogate_contract_gate.py
tools/exp_magnitude_psd_from_acf.py
tools/exp_markov3_observable_hunt.py
tools/exp_markov_dipolar_decomposition.py
tools/exp_markov_k_direction.py
tools/exp_markov_layer_recovery_audit.py
tools/exp_markov_memory_by_gue_type.py
tools/exp_markov_psd_prediction.py
tools/exp_markov_scale_function.py
tools/exp_meta_tautology_test.py
tools/exp_metric_tensor_diagnostic.py
tools/exp_mobius_irrationality.py
tools/exp_mod3_scaling.py
tools/exp_mod3_vs_residual_ordering.py
tools/exp_modular_algebra_depth.py
tools/exp_modular_memory_spectrum.py
tools/exp_number_variance.py
tools/exp_observable_rank_audit.py
tools/exp_perturbation_dimensionality_audit.py
tools/exp_perturbation_rank_size_curve.py
tools/exp_poisson_convergence.py
tools/exp_psd_amplitude_scaling.py
tools/exp_psd_prime_gaps.py
tools/exp_ricci_desitter_0406.py
tools/exp_ricci_primes.py
tools/exp_scale_selective_perturbation.py
tools/exp_selective_layer_decoupling.py
tools/exp_semireal_order_denominator_gate.py
tools/exp_spectral_2d.py
tools/exp_spectral_landscape.py
tools/exp_spectral_rigidity.py
tools/exp_tqge_underlay_gate.py
tools/exp_triadic_deposit_gate.py
tools/exp_two_channel_boundary.py
tools/exp_two_channel_cross_domain.py
tools/exp_two_channel_decomposition.py
tools/exp_two_channel_psd.py
tools/exp_two_channel_shuffle_audit.py
tools/exp_two_channel_universality.py
tools/exp_two_layer_universality.py
tools/gap_ratio_primes.py
tools/r_stat_primes.py
tools/test_gue_poisson_boundary.py
tools/translate_tensions.py

exec
/bin/bash -lc 'python tools/dnd_scenario.py --best' in /opt/MM_D-ND
 succeeded in 122ms:
M_trascendenza_limite_attuale_L0: score=0.872  — M_trascendenza_limite_attuale_L0: incerto (i=0.529179606750063) — massimo potere discriminante
TENS_SCALE_TRASCENDENZA_LIMITE: score=0.807  — TENS_SCALE_TRASCENDENZA_LIMITE: incerto (i=0.6) — massimo potere discriminante
COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE: score=0.758  — COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE: incerto (i=0.65) — massimo potere discriminante

codex
Il proiettore conferma `M_trascendenza_limite_attuale_L0`: il punto debole è il `gap_ratio` della modulazione quasi-periodica, non la vecchia BOUNDARY. Cerco il deposito che ha generato quel valore per trasformarlo in uno strumento riusabile con null baseline esplicito.
exec
/bin/bash -lc "sed -n '1,260p' tools/dnd_domandatore.py" in /opt/MM_D-ND
exec
/bin/bash -lc 'ls -t tools/data/reports/agent_20260507_*.md | head -12' in /opt/MM_D-ND
 succeeded in 0ms:
tools/data/reports/agent_20260507_2310.md
tools/data/reports/agent_20260507_2203.md
tools/data/reports/agent_20260507_2157.md
tools/data/reports/agent_20260507_2120.md
tools/data/reports/agent_20260507_2042.md
tools/data/reports/agent_20260507_1957.md
tools/data/reports/agent_20260507_1938.md
tools/data/reports/agent_20260507_1804.md
tools/data/reports/agent_20260507_1751.md
tools/data/reports/agent_20260507_1458.md
tools/data/reports/agent_20260507_1419.md
tools/data/reports/agent_20260507_1042.md

 succeeded in 0ms:
#!/usr/bin/env python3
"""
dnd_domandatore.py — Generatore Autopoietico di Ipotesi

Prende una tensione aperta dal seme e genera esperimenti nuovi
usando la logica D-ND come metodo di indagine.

5 operatori di domanda (dalla struttura del modello):
  1. DUALE    — se X e' vero, cosa dice 1/X?
  2. CONFINE  — se A e B sono opposti, cosa c'e' al bordo?
  3. DOMINIO  — se vale qui, vale la'? (cambio propagazione)
  4. ROTTURA  — cosa romperebbe questo claim?
  5. SCALA    — vale a N grande quanto a N piccolo?

Ogni operatore prende una tensione e produce un esperimento
con: ipotesi, codice eseguibile, criterio di successo/fallimento.

Gli esperimenti vengono selezionati da dnd_banchi.py (catalogo parametrico)
in base al contenuto del claim, non da template fissi.

Ciclo: tensione -> operatore -> esperimento -> esecuzione -> risultato -> nuova tensione

Author: TM3
Date: 2026-03-05
"""

import numpy as np
import json
import sys
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
import os
from pathlib import Path
from datetime import datetime

PHI = (1 + np.sqrt(5)) / 2
REPO = Path('/opt/MM_D-ND')
DATA = REPO / 'tools' / 'data'

PHI = (1 + np.sqrt(5)) / 2


def _tensione_da_condensato():
    """
    Sceglie un claim del CONDENSATO e lo trasforma in tensione da falsificare.
    Ruota tra i claim ad ogni chiamata (round-robin basato sul giorno).
    Priorita': CLAIM > FATTI > ASSIOMI (gli assiomi sono scelte, non falsificabili).
    """
    import re
    condensato_path = REPO / 'CONDENSATO.md'
    if not condensato_path.exists():
        return None

    with open(condensato_path, 'r', encoding='utf-8', errors='ignore') as f:
        content = f.read()

    # Estrai claims falsificabili (FATTI e CLAIM, non ASSIOMI)
    claims = []
    section_tipo = None
    current_id = None
    current_lines = []

    for line in content.split('\n'):
        if line.strip() == '## FATTI':
            section_tipo = 'fatto'
        elif line.strip() == '## CLAIM':
            section_tipo = 'claim'
        elif line.strip() == '## ASSIOMI':
            section_tipo = None  # assiomi non falsificabili
        elif line.strip().startswith('## '):
            section_tipo = None

        m = re.match(r'^### ([A-Z]\d+)\.\s*(.*)', line.strip())
        if m and section_tipo:
            if current_id and current_lines:
                claims.append({
                    'id': current_id,
                    'tipo': section_tipo,
                    'titolo': current_lines[0],
                    'testo': ' '.join(current_lines),
                })
            current_id = m.group(1)
            current_lines = [m.group(2)]
        elif current_id and section_tipo and line.strip():
            current_lines.append(line.strip())

    # Ultimo claim
    if current_id and current_lines:
        claims.append({
            'id': current_id,
            'tipo': section_tipo,
            'titolo': current_lines[0],
            'testo': ' '.join(current_lines),
        })

    if not claims:
        return None

    # Round-robin basato sul giorno
    day_index = datetime.now().timetuple().tm_yday
    claim = claims[day_index % len(claims)]

    print(f"\n  [CONDENSATO] Tentativo falsificazione: {claim['id']} ({claim['tipo']})")
    print(f"  {claim['titolo'][:70]}")

    return {
        'id': f"FALSIFICA_{claim['id']}",
        'claim': claim['testo'][:200],
        'tipo': 'falsificazione_condensato',
        'intensita': 0.9,
        'nota': f"Difesa attiva condensato — tentativo falsificazione {claim['id']}",
        'condensato_ref': claim['id'],
    }
RESULTS_DIR = DATA / 'domandatore'


# ============================================================
# OPERATORI DI DOMANDA
# ============================================================

def _banco_o_genera(claim, tid, operatore_nome):
    """Se c'e' in archivio lo usa, altrimenti lo crea."""
    from dnd_banchi import seleziona_banchi, genera_esperimento
    banchi = seleziona_banchi(claim, tid, max_banchi=1)
    if banchi:
        banco = banchi[0]
        banco['_source'] = 'catalogo'
        return banco
    # Nessun banco matcha — genera da zero
    banco = genera_esperimento(claim, tid)
    if banco:
        banco['_source'] = 'generato'
        return banco
    # Fallback finale: dualita' generica
    from dnd_banchi import banco_dualita
    banco = banco_dualita(tid)
    banco['_source'] = 'fallback'
    return banco


def operatore_duale(tensione):
    """
    Se X e' vero, cosa dice il duale 1/X?
    Se c'e' in archivio lo usa, altrimenti lo crea.
    """
    tid = tensione.get('id', '?')
    claim = tensione.get('claim', '')
    experiments = []

    banco = _banco_o_genera(claim, tid, 'duale')
    source = banco.pop('_source', '?')
    experiments.append({
        'id': banco['id'],
        'operatore': 'duale',
        'ipotesi': f'Il duale di "{claim[:50]}" [{source}: {banco.get("dominio", "?")}]',
        'codice': banco['codice'],
        'criterio': banco['criterio'],
        'falsificabile': True,
    })

    return experiments


def operatore_confine(tensione):
    """
    Se A e B sono opposti, cosa c'e' al bordo?
    Il terzo incluso e' l'operatore formale D-ND.
    """
    tid = tensione.get('id', '?')
    claim = tensione.get('claim', '')
    experiments = []

    from dnd_banchi import PRELUDE
    experiments.append({
        'id': f'BOUNDARY_{tid}',
        'operatore': 'confine',
        'ipotesi': f'Tra gli estremi del claim "{claim[:50]}" esiste un punto di transizione continuo',
        'codice': PRELUDE + """
N = 400
theta = 1/PHI

def harper_sequence(theta, N, V=1.0):
    return [V * np.cos(2*np.pi*theta*n) for n in range(N)]

seq_s = sturmian_sequence(theta, N)
seq_h = harper_sequence(theta, N, 1.0)

print("alpha (0=Sturmian, 1=Harper) vs <r> at V=1:")
for alpha in np.linspace(0, 1, 11):
    H_mixed = np.zeros((N, N))
    for i in range(N):
        pot = (1-alpha) * seq_s[i] + alpha * seq_h[i]
        H_mixed[i, i] = pot
        if i > 0: H_mixed[i, i-1] = H_mixed[i-1, i] = 1.0
    r = r_statistic(eigvalsh(H_mixed))
    bar = '#' * int(r * 40)
    print(f"  alpha={alpha:.1f}: <r>={r:.3f} {bar}")
""",
        'criterio': 'La transizione Sturmian->Harper e\' continua (il terzo incluso esiste)',
        'falsificabile': True,
    })

    return experiments


def operatore_dominio(tensione):
    """
    Se vale qui, vale la'? Cambio di propagazione.
    Seleziona un dominio DIVERSO da quello del claim.
    Se non trova in archivio, genera.
    """
    from dnd_banchi import seleziona_banchi, banco_transfer_fotonica, banco_lyapunov, genera_esperimento
    tid = tensione.get('id', '?')
    claim = tensione.get('claim', '')
    experiments = []

    claim_lower = claim.lower()

    # Determina il dominio del claim per scegliere uno DIVERSO
    dominio_claim = 'spettrale'  # default
    if any(w in claim_lower for w in ['fotonico', 'ottic', 'trasmissione']):
        dominio_claim = 'fotonico'
    elif any(w in claim_lower for w in ['lyapunov', 'localizzazione']):
        dominio_claim = 'lyapunov'
    elif any(w in claim_lower for w in ['entropia', 'log(phi)', 'primitiv']):
        dominio_claim = 'entropia'

    # Mappa dominio → banco alternativo
    alternative = {
        'spettrale': banco_transfer_fotonica,
        'fotonico': banco_lyapunov,
        'lyapunov': lambda tid: seleziona_banchi('dualita', tid, 1)[0] if seleziona_banchi('dualita', tid, 1) else banco_transfer_fotonica(tid),
        'entropia': banco_transfer_fotonica,
    }

    banco_fn = alternative.get(dominio_claim, banco_transfer_fotonica)
    banco = banco_fn(tid)

    # Se il banco ha lo stesso dominio del claim, prova generazione
    if banco.get('dominio') == dominio_claim:
        gen = genera_esperimento(f'confronto phi vs silver trasporto', tid)
        if gen:
            banco = gen

    experiments.append({
        'id': f'DOMAIN_{banco["id"]}',
        'operatore': 'dominio',
        'ipotesi': f'L\'effetto "{claim[:40]}" si manifesta anche in {banco.get("dominio", "?")}',
        'codice': banco['codice'],
        'criterio': banco['criterio'],
        'falsificabile': True,
    })

    return experiments


def operatore_rottura(tensione):
    """
    Cosa romperebbe questo claim? Seleziona banco e testa a scaling ridotto.
    """
    from dnd_banchi import seleziona_banchi, banco_scaling_r

exec
/bin/bash -lc "rg -n \"gap_ratio|V_c|Sturmian|Harper|trascendenza\" tools/data tools -g '*.md' -g '*.json' -g '*.py'" in /opt/MM_D-ND
 succeeded in 0ms:
tools/dipartimento.py:91:        'test': 'gap_ratio_phi2',
tools/dipartimento.py:296:    elif test_name == 'gap_ratio_phi2':
tools/exp_boundary_gue_poisson.py:26:def gap_ratios(gaps):
tools/exp_boundary_gue_poisson.py:59:        r = gap_ratios(gaps)
tools/plot_risultante.py:63:V_coup = -R
tools/plot_risultante.py:68:ax.plot(R, V_coup, 'g--', linewidth=1.2, alpha=0.6, label=r'$-R$ (coupling)')
tools/data/reports/insights_20260315_0346.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260315_0346.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260315_0346.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260315_0346.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260507_2310.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/dnd_curva.py:17:  4. Osservare: la spirale converge a φ? Il gap_ratio è φ²?
tools/dnd_curva.py:74:            entry["gap_ratio"] = float(diario[-1]["gap_abs"] / abs(gap)) if abs(gap) > 1e-15 else float("inf")
tools/dnd_curva.py:124:    print(f"  k      | tr    | det     | gap_ratio | →φ?   | gap_finale | convergenza")
tools/dnd_curva.py:139:        gr = obs.get('gap_ratio_medio', None)
tools/dnd_curva.py:158:            'gap_ratio': float(gr) if gr else None,
tools/dnd_curva.py:174:    # Parte B: Verificare che il gap_ratio è SEMPRE φ² sulla curva
tools/dnd_curva.py:175:    print(f"\n  Verifica: gap_ratio = φ² per tutti i k?")
tools/dnd_curva.py:176:    grs = [e['gap_ratio'] for e in famiglia_a if e['gap_ratio'] and np.isfinite(e['gap_ratio'])]
tools/dnd_curva.py:180:        print(f"    Media gap_ratio = {media:.6f} (φ² = {PHI2:.6f})")
tools/dnd_curva.py:183:        results['cv_gap_ratio_curva'] = float(cv)
tools/dnd_curva.py:203:    Il gap_ratio è φ² per TUTTA la curva. Il punto fisso scala come kφ.
tools/dnd_curva.py:487:  │  Il gap_ratio è φ² su TUTTA la curva (verificato).                 │
tools/validate_tension_mapping.py:68:        'reference frame', 'trascendenza', 'transcend',
tools/data/reports/insights_20260315_0346.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260315_0346.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260315_0346.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260315_0346.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260507_2310.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/lab_veritas.py:11:- V_c CONFERMA AMBIENTALE: report sezioni + tools menzionati
tools/lab_veritas.py:13:ρ = V_a × 0.4 + V_b × 0.3 + V_c × 0.3 → SCARTO/SOSPENSIONE/COLLASSO
tools/lab_veritas.py:228:    weights = {"V_a": 0.4, "V_b": 0.3, "V_c": 0.3}
tools/lab_veritas.py:229:    rho = v_a * weights["V_a"] + v_b * weights["V_b"] + v_c * weights["V_c"]
tools/lab_veritas.py:242:            "V_c_conferma_ambientale": round(v_c, 4),
tools/lab_veritas.py:245:        "components": {"V_a": comp_a, "V_b": comp_b, "V_c": comp_c},
tools/lab_veritas.py:261:    print(f"[veritas] rho={rho:.3f} → {band} · V_a={v_a:.3f} V_b={v_b:.3f} V_c={v_c:.3f}")
tools/exp_brody_crossover.py:54:def gap_ratio(gaps):
tools/exp_brody_crossover.py:102:        r_prime = gap_ratio(win_gaps)
tools/exp_brody_crossover.py:111:            r_cramer_list.append(gap_ratio(surr_gaps))
tools/data/reports/insights_20260329_0343.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260329_0343.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260329_0343.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260329_0343.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/exp_poisson_convergence.py:30:def gap_ratio_r(gaps):
tools/exp_poisson_convergence.py:87:    r = gap_ratio_r(gaps)
tools/exp_poisson_convergence.py:117:        r_vals.append(gap_ratio_r(gaps_surr))
tools/dnd_condizioni.py:83:            entry["gap_ratio"] = float(diario[-1]["gap_abs"] / abs(gap)) if abs(gap) > 1e-15 else float("inf")
tools/dnd_condizioni.py:113:    gap_ratios = [d["gap_ratio"] for d in diario if "gap_ratio" in d and d["gap_ratio"] < 1e10]
tools/dnd_condizioni.py:127:        "gap_ratio_medio": float(np.mean(gap_ratios[-5:])) if gap_ratios else None,
tools/dnd_condizioni.py:128:        "gap_ratio_ultimo": float(gap_ratios[-1]) if gap_ratios else None,
tools/dnd_condizioni.py:159:    if gap_ratios:
tools/dnd_condizioni.py:160:        osservazione["prossimità_gap_ratio"] = {}
tools/dnd_condizioni.py:161:        gr = np.mean(gap_ratios[-5:])
tools/dnd_condizioni.py:163:            osservazione["prossimità_gap_ratio"][nome] = float(abs(gr - val))
tools/dnd_condizioni.py:322:        gr = obs.get("gap_ratio_medio")
tools/dnd_condizioni.py:325:            prox = obs.get("prossimità_gap_ratio", {})
tools/dnd_condizioni.py:338:            "gap_ratio": gr,
tools/dnd_condizioni.py:350:    gap_ratios = [v["gap_ratio"] for v in vault if v["gap_ratio"] is not None]
tools/dnd_condizioni.py:364:    if gap_ratios:
tools/dnd_condizioni.py:367:            if v["gap_ratio"] is not None:
tools/dnd_condizioni.py:368:                print(f"    {v['segnale']:>12s}: {v['gap_ratio']:.6f}")
tools/data/reports/exp_metric_tensor_diag_long.json:24:  "gap_ratio_r": 0.4537691241430244,
tools/dnd_domandatore.py:187:print("alpha (0=Sturmian, 1=Harper) vs <r> at V=1:")
tools/dnd_domandatore.py:198:        'criterio': 'La transizione Sturmian->Harper e\' continua (il terzo incluso esiste)',
tools/dnd_domandatore.py:304:print("V_c scaling with N — phi vs silver:")
tools/dnd_domandatore.py:312:        print(f"    N={N:4d}: V_c={vc:.3f}" if vc else f"    N={N:4d}: V_c=None")
tools/dnd_domandatore.py:323:            'criterio': 'V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1',
tools/dnd_domandatore.py:490:                for metric in ('V_c', 'r_at_V1', 'err', 'value'):
tools/dnd_domandatore.py:497:                            if metric == 'V_c':
tools/dnd_domandatore.py:505:                                        'claim': f'V_c(phi)={phi_v:.3f} vs media ctrl={ctrl_mean:.3f} — phi {rapporto:.1f}x piu\' vicino a V=1. {result["criterio"][:30]}',
tools/dnd_autoricerca.py:621:        risultato['analisi']['gap_ratio'] = obs.get('gap_ratio_medio')
tools/dnd_autoricerca.py:849:                'gap_ratio': analisi.get('gap_ratio'),
tools/dnd_autoricerca.py:1007:        'gap_ratio': analisi.get('gap_ratio'),
tools/dnd_autoricerca.py:1105:            print(f"    Gap ratio: {obs.get('gap_ratio_medio', '?')}")
tools/dnd_autoricerca.py:1118:                'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_autoricerca.py:1357:    # 4. Sequenza dei gap_ratio — è più costante di quanto ci si aspetterebbe?
tools/dnd_autoricerca.py:1359:    grs = [(e['dominio'], e['gap_ratio']) for e in reali if e.get('gap_ratio')]
tools/dnd_autoricerca.py:1850:                'gap_ratio': analisi.get('gap_ratio'),
tools/dnd_autoricerca.py:1940:                'gap_ratio': analisi.get('gap_ratio'),
tools/data/reports/phi_vs_silver_falsification_20260306.json:10:      "claim": "V_c(phi) converges to 1.0 while V_c(silver) doesn't",
tools/data/reports/phi_vs_silver_falsification_20260306.json:11:      "result": "V_c oscillates for both. Delta changes sign with N. No separation.",
tools/data/reports/phi_vs_silver_falsification_20260306.json:13:        "N_89": {"V_c_phi": 1.487, "V_c_silver": 1.493, "delta": -0.006},
tools/data/reports/phi_vs_silver_falsification_20260306.json:14:        "N_144": {"V_c_phi": 1.400, "V_c_silver": 1.632, "delta": -0.232},
tools/data/reports/phi_vs_silver_falsification_20260306.json:15:        "N_233": {"V_c_phi": 1.435, "V_c_silver": 1.533, "delta": -0.098},
tools/data/reports/phi_vs_silver_falsification_20260306.json:16:        "N_377": {"V_c_phi": 1.384, "V_c_silver": 1.360, "delta": 0.024},
tools/data/reports/phi_vs_silver_falsification_20260306.json:17:        "N_610": {"V_c_phi": 1.404, "V_c_silver": 1.444, "delta": -0.040},
tools/data/reports/phi_vs_silver_falsification_20260306.json:18:        "N_987": {"V_c_phi": 1.384, "V_c_silver": 1.331, "delta": 0.052}
tools/data/reports/phi_vs_silver_falsification_20260306.json:61:    "content": "All det=-1 quasicrystals (phi, silver, bronze...) produce similar bulk statistics (<r>, V_c, Lyapunov). They are statistically near-identical because det=-1 is the SHARED generative condition. Phi is unique not in what it PRODUCES but in HOW it's generated: (1) M=[[1,1],[1,0]] is the unique primitive 2x2 with det=-1 and minimal topological entropy (proven P18), (2) phi is the unique fixed point of f(x)=1+1/x, (3) [1,1,...] is the slowest-approximable irrational. The distinctiveness lives in the algebra of the GENERATOR, not in the statistics of the GENERATED.",
tools/dnd_M_operator.py:157:    - 'V_c(phi)=0.961 vs ctrl' -> 'V_c_separation'
tools/dnd_M_operator.py:165:        return 'V_c_transition'
tools/dnd_piano11.py:497:                "gap_ratio": float(phi**2),
tools/data/reports/insights_20260305_0852.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260305_0852.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260305_0852.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260305_0852.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260329_0343.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260329_0343.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260329_0343.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260329_0343.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/dnd_projective_quantization.py:208:    # Questo è il modello di Harper/Fibonacci — il suo spettro è un CANTOR SET
tools/dnd_projective_quantization.py:211:    V_coupling = 2.0  # forza del potenziale quasiperiodico
tools/dnd_projective_quantization.py:220:        H[i, i] = V_coupling * fib_seq[i]
tools/dnd_projective_quantization.py:229:    print(f"  V = {V_coupling}, t = {t_hop}")
tools/data/reports/cycle_20260306_0342.json:1318:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/data/reports/exp_metric_tensor_diag_long.json:24:  "gap_ratio_r": 0.4537691241430244,
tools/data/reports/agent_20260507_1957.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/phi_vs_silver_falsification_20260306.json:10:      "claim": "V_c(phi) converges to 1.0 while V_c(silver) doesn't",
tools/data/reports/phi_vs_silver_falsification_20260306.json:11:      "result": "V_c oscillates for both. Delta changes sign with N. No separation.",
tools/data/reports/phi_vs_silver_falsification_20260306.json:13:        "N_89": {"V_c_phi": 1.487, "V_c_silver": 1.493, "delta": -0.006},
tools/data/reports/phi_vs_silver_falsification_20260306.json:14:        "N_144": {"V_c_phi": 1.400, "V_c_silver": 1.632, "delta": -0.232},
tools/data/reports/phi_vs_silver_falsification_20260306.json:15:        "N_233": {"V_c_phi": 1.435, "V_c_silver": 1.533, "delta": -0.098},
tools/data/reports/phi_vs_silver_falsification_20260306.json:16:        "N_377": {"V_c_phi": 1.384, "V_c_silver": 1.360, "delta": 0.024},
tools/data/reports/phi_vs_silver_falsification_20260306.json:17:        "N_610": {"V_c_phi": 1.404, "V_c_silver": 1.444, "delta": -0.040},
tools/data/reports/phi_vs_silver_falsification_20260306.json:18:        "N_987": {"V_c_phi": 1.384, "V_c_silver": 1.331, "delta": 0.052}
tools/data/reports/phi_vs_silver_falsification_20260306.json:61:    "content": "All det=-1 quasicrystals (phi, silver, bronze...) produce similar bulk statistics (<r>, V_c, Lyapunov). They are statistically near-identical because det=-1 is the SHARED generative condition. Phi is unique not in what it PRODUCES but in HOW it's generated: (1) M=[[1,1],[1,0]] is the unique primitive 2x2 with det=-1 and minimal topological entropy (proven P18), (2) phi is the unique fixed point of f(x)=1+1/x, (3) [1,1,...] is the slowest-approximable irrational. The distinctiveness lives in the algebra of the GENERATOR, not in the statistics of the GENERATED.",
tools/exp_excess_scaling.py:33:def gap_ratio(gaps):
tools/exp_excess_scaling.py:49:        rs.append(gap_ratio(gaps))
tools/exp_excess_scaling.py:66:    r_prime = gap_ratio(gaps)
tools/data/reports/insights_20260305_0852.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260305_0852.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260305_0852.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260305_0852.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/cycle_20260306_0342.json:1318:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/dnd_indeterminazione.py:169:    def V_coupling(r):
tools/dnd_indeterminazione.py:178:    V_c = V_coupling(PHI)
tools/dnd_indeterminazione.py:184:    print(f"    V_coupling    = -φ     = {V_c:.6f}")
tools/dnd_indeterminazione.py:189:    results['V_components'] = {
tools/dnd_indeterminazione.py:191:        'coupling': float(V_c),
tools/dnd_indeterminazione.py:216:    print(f"  {'r':>6} | {'V_sing':>8} | {'V_coup':>8} | {'V_auto':>8} | {'V_tot':>8} | {'V-V(φ)':>8}")
tools/dnd_indeterminazione.py:222:        vc = V_coupling(r)
tools/dnd_indeterminazione.py:230:            'V_coup': float(vc),
tools/data/reports/insights_20260403_0330.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260403_0330.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260403_0330.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260403_0330.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260507_1957.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/dnd_spirale.py:87:          f"{'potenziale':>10s}  {'gap_ratio':>10s}")
tools/data/reports/agent_20260507_1751.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/dnd_risultante.py:303:                "V_coupling": round(VL, 8),
tools/dnd_risultante.py:676:                      f"V_Λ={decomp['V_coupling']:.4f}  "
tools/dnd_lab.py:105:                'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:111:            gr = obs.get('gap_ratio_medio', 0)
tools/dnd_lab.py:172:            'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:178:        gr = obs.get('gap_ratio_medio', 0)
tools/dnd_lab.py:287:            'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:363:            'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:368:        gr = obs.get('gap_ratio_medio', 0)
tools/dnd_lab.py:431:                'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:500:                'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_lab.py:1166:    # INSIGHT 2: Il punto critico V_c scala con phi?
tools/dnd_lab.py:1169:        """Il punto critico V_c dipende da phi strutturalmente?"""
tools/dnd_lab.py:1170:        print(f"\n  --- PATTERN: il punto critico V_c e' legato a phi? ---")
tools/dnd_lab.py:1175:            """Trova V_c dove <r> ≈ 0.50."""
tools/dnd_lab.py:1200:        # V_c per diverse dimensioni con phi
tools/dnd_lab.py:1205:            print(f"    phi, N={N}: V_c = {Vc:.3f}")
tools/dnd_lab.py:1207:        # V_c con sqrt(2) per confronto
tools/dnd_lab.py:1209:        print(f"    sqrt(2), N=500: V_c = {Vc_sqrt2:.3f}")
tools/dnd_lab.py:1211:        # Pattern: V_c ≈ costante? V_c ≈ 2/phi? V_c ≈ 1?
tools/dnd_lab.py:1224:        print(f"\n    V_c medio (phi): {Vc_mean:.3f} +/- {Vc_std:.3f}")
tools/dnd_lab.py:1225:        print(f"    Best match: V_c ≈ {best_match} (err={candidates[best_match]:.4f})")
tools/dnd_lab.py:1226:        print(f"    V_c (sqrt(2)): {Vc_sqrt2:.3f}")
tools/dnd_lab.py:1231:            'claim': f"V_c = {Vc_mean:.3f} ≈ {best_match} (err {candidates[best_match]:.4f})",
tools/dnd_lab.py:1236:            'nota': f"V_c stabile a {Vc_mean:.3f}. Phi vs sqrt(2): {Vc_mean:.3f} vs {Vc_sqrt2:.3f}",
tools/dnd_lab.py:1600:# BANCO 10: Lagrangiana — principio variazionale V_c(alpha)
tools/dnd_lab.py:1605:    Hamiltoniana tight-binding con potenziale Sturmiano a frequenza alpha.
tools/dnd_lab.py:1634:    Trova V_c dove <r> attraversa r_target per la frequenza alpha.
tools/dnd_lab.py:1677:    V_c = (V_lo + V_hi) / 2
tools/dnd_lab.py:1678:    r_c = get_r(V_c)
tools/dnd_lab.py:1679:    return float(V_c), float(r_c) if r_c else float(r_target)
tools/dnd_lab.py:1712:    BANCO 10: Principio variazionale — phi minimizza V_c.
tools/dnd_lab.py:1715:    1. Costruisci modello Sturmiano (potenziale binario quasiperiodico)
tools/dnd_lab.py:1716:    2. Trova V_c dove <r> = 0.50 (transizione GUE ↔ Poisson)
tools/dnd_lab.py:1720:    1. V_c(1/phi) converge a 1.0 (minimo tra numeri nobili)
tools/dnd_lab.py:1721:    2. CV(V_c) minimo a 1/phi = MASSIMA STABILITA' al variare di N
tools/dnd_lab.py:1726:    Isomorfismo: det=-1 preserva area ↔ V_c(phi) ha minima varianza.
tools/dnd_lab.py:1731:    print(f"BANCO 10: LAGRANGIANA — principio variazionale V_c(alpha)")
tools/dnd_lab.py:1734:    print(f"  Modello: Sturmiano (potenziale binario quasiperiodico)")
tools/dnd_lab.py:1736:    print(f"  Principio: V_c minimo + massima stabilita' = minima azione")
tools/dnd_lab.py:1768:    print(f"\n  --- SCAN V_c per {len(frequencies)} frequenze ---\n")
tools/dnd_lab.py:1786:              f"V_c={Vc:.4f}  <r>={r_at_Vc:.4f}  "
tools/dnd_lab.py:1792:    # 1. phi ha il V_c minimo?
tools/dnd_lab.py:1797:    print(f"\n  V_c minimo: {min_name} = {Vc_values[min_name]:.4f}")
tools/dnd_lab.py:1798:    print(f"  V_c(1/phi): {phi_Vc:.4f}")
tools/dnd_lab.py:1802:    print(f"\n  RANKING (V_c crescente = azione crescente):")
tools/dnd_lab.py:1806:        print(f"    {i+1:2d}. {name:>14s}: V_c = {vc:.4f}{phi_marker}{arrow}")
tools/dnd_lab.py:1808:    # 2. Correlazione V_c vs irrazionalita'
tools/dnd_lab.py:1814:        print(f"\n  Correlazione V_c vs irrazionalita' (media geometrica cf): r = {corr:.4f}")
tools/dnd_lab.py:1816:            print(f"    POSITIVA: piu' 'razionale' (cf grandi) → piu' V_c → piu' azione")
tools/dnd_lab.py:1823:    # 3. La curva V_c(alpha) e' un 'pozzo' attorno a 1/phi?
tools/dnd_lab.py:1843:    print(f"\n  phi e' minimo globale di V_c? {'SI' if is_global_min else 'NO'}")
tools/dnd_lab.py:1844:    print(f"  phi e' minimo locale di V_c?  {'SI' if is_local_min else 'NO/non determinabile'}")
tools/dnd_lab.py:1847:    # I numeri nobili (coda di 1 nella cf) dovrebbero avere V_c piu' basso
tools/dnd_lab.py:1855:        print(f"\n  Noble numbers (coda 1): V_c medio = {np.mean(noble_Vc):.4f}")
tools/dnd_lab.py:1856:        print(f"  Non-noble:              V_c medio = {np.mean(non_noble_Vc):.4f}")
tools/dnd_lab.py:1860:    # 5. STABILITA': V_c(N) ha minima varianza per phi?
tools/dnd_lab.py:1861:    print(f"\n  --- ANALISI STABILITA' V_c(N) ---")
tools/dnd_lab.py:1867:    top_freqs = [name for name, _ in ranking[:6]]  # top 6 per V_c
tools/dnd_lab.py:1899:        print(f"  CV(1/phi) = {phi_cv:.1f}% — MINIMA varianza di V_c al variare di N")
tools/dnd_lab.py:1904:    print(f"  Frequenza Sturmiana alpha = 1/phi = inversione di phi")
tools/dnd_lab.py:1906:    print(f"    1. V_c(1/phi) ≈ {phi_mean_vc:.3f} → converge a 1 (minima azione)")
tools/dnd_lab.py:1908:    print(f"  Isomorfismo: det=-1 preserva area ↔ V_c stabile al cambio di scala")
tools/dnd_lab.py:1918:        claim = (f"Principio Lagrangiano DOPPIO: 1/phi ha V_c ≈ {phi_mean_vc:.3f} "
tools/dnd_lab.py:1923:        claim = (f"Parziale: V_c rank {phi_rank_vc}, stabilita' rank "
tools/dnd_lab.py:1925:                 f"V_c={phi_mean_vc:.3f}, CV={phi_cv:.1f}%")
tools/dnd_lab.py:1928:        claim = f"phi NON soddisfa il principio Lagrangiano (V_c rank {phi_rank_vc}, non stabile)"
tools/dnd_lab.py:1956:            notify(f"LAGRANGIANA CONFERMATA: V_c(1/phi) ≈ {phi_mean_vc:.3f}, "
tools/exp_metric_tensor_diagnostic.py:342:    "gap_ratio_r": float(r_mean_prime),
tools/exp_metric_tensor_diagnostic.py:397:print(f"<r> prime: {output['gap_ratio_r']:.6f}")
tools/data/reports/insights_20260403_0330.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260403_0330.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260403_0330.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260403_0330.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/exp_coherence_length.py:33:def gap_ratio(gaps):
tools/exp_coherence_length.py:67:            r_prime_list.append(gap_ratio(window))
tools/exp_coherence_length.py:72:                r_shuf_lists[si].append(gap_ratio(shuf))
tools/data/reports/agent_20260507_1751.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/dnd_engine.py:232:        'motivo': 'Auto-dualità nel modello tight-binding: a V=1 le due scale sono uguali. φ come frequenza Sturmiana genera V_c più vicino a 1.',
tools/dnd_engine.py:248:        'claim': 'CV della stabilità (V_c) correla con <r> al 92%: frequenze più stabili (basso CV) danno <r> più vicino a 0.5',
tools/dnd_engine.py:264:        'claim': 'Noble numbers (cf coda 1) hanno V_c medio 1.06 vs non-nobili 1.84. La nobiltà aritmetica si traduce in stabilità spettrale.',
tools/dnd_engine.py:280:        'claim': 'V_c > 1 nel 88% dei campioni per φ: direzione preferenziale (freccia termodinamica)',
tools/dnd_engine.py:282:        'motivo': 'Con 19+ campioni, V_c non oscilla attorno a 1 — sta sistematicamente sopra. Centro ~1.034.',
tools/dnd_engine.py:426:        'claim': 'Nella famiglia det=-1 (metallic means tr=1..10), solo Q(sqrt(5)) ha V_c vicino a 1. phi (tr=1) minimizza V_c.',
tools/dnd_engine.py:428:        'motivo': 'Q(sqrt(5)): V_c medio 1.1. Altri campi: V_c medio 2.2 (2x). phi ha h=min (entropia topologica), cf=[1,...] (convergenza più lenta). Nickel (tr=4, theta=phi^3) eredita Q(sqrt(5)) → V_c si abbassa.',
tools/dnd_engine.py:434:        'claim': 'La matrice di sostituzione (det=-1) determina transizione LISCIA monotona. Harper (coseno, stessa phi, no sostituzione) ha dip brusco non-monotono a V=2.',
tools/dnd_engine.py:436:        'motivo': 'Sturmian-phi: <r>(V=1)=0.498, monotona decrescente. Harper-phi: <r>(V=1)=0.903, dip a 0.296 a V=2, poi risale a 0.67. Random binary: Anderson (localizzato subito). Periodic: no transizione. La struttura generativa ricorsiva (det=-1) determina la transizione, non la frequenza.',
tools/dnd_engine.py:725:    """Hamiltoniano tight-binding con potenziale Sturmiano.
tools/dnd_engine.py:727:    dove v_i = 1 se {i/θ} >= 1-1/θ, else 0 (sequenza Sturmiana)."""
tools/dnd_engine.py:826:    """Lagrangiana: φ come frequenza più stabile (V_c più vicino a 1, più bassa varianza)."""
tools/dnd_engine.py:843:            # Trova V_c dove <r> attraversa 0.5
tools/dnd_engine.py:854:    # φ dovrebbe avere il CV più basso e V_c più vicino a 1
tools/dnd_engine.py:890:    """Noble numbers (cf tail=1) hanno V_c più vicino a 1 dei non-nobili."""
tools/dnd_engine.py:946:    """V_c > 1 sistematicamente per φ (freccia termodinamica)."""
tools/dnd_engine.py:975:        'nota': 'V_c sistematicamente >1 indica direzione preferenziale',
tools/dnd_engine.py:979:    """Solo Q(sqrt(5)) ha V_c vicino a 1 nella famiglia det=-1."""
tools/dnd_engine.py:1051:    """La sostituzione (det=-1) determina transizione liscia; Harper ha dip brusco."""
tools/dnd_engine.py:1076:    # Sturmian: monotone decreasing
tools/dnd_engine.py:1079:    # Harper: non-monotone (dip then rise)
tools/dnd_engine.py:1083:    # Sturmian crosses <r>=0.5 near V=1
tools/dnd_engine.py:1087:    # Harper at V=1 still delocalized
tools/dnd_engine.py:1529:    A V=V_c: <r> attraversa 0.5 (meta' tra GUE=0.53 e Poisson=0.39).
tools/dnd_engine.py:1530:    Il punto di transizione V_c dipende da N ma converge."""
tools/dnd_engine.py:1729:        'gap_ratio_equals_phi': all_ratio_phi,
tools/dnd_engine.py:2182:    gap_ratios = [d.get('gap_ratio', 0) for d in domains if d.get('gap_ratio')]
tools/dnd_engine.py:2183:    if gap_ratios:
tools/dnd_engine.py:2184:        cv = np.std(gap_ratios) / np.mean(gap_ratios) if np.mean(gap_ratios) > 0 else 0
tools/dnd_engine.py:2185:        print(f"\n  Gap ratio: media={np.mean(gap_ratios):.6f}, cv={cv:.6f}")
tools/dnd_engine.py:2189:                'quantita': 'gap_ratio',
tools/dnd_engine.py:2190:                'valore': float(np.mean(gap_ratios)),
tools/dnd_engine.py:2759:                'test': 'Trovare un dominio dove gap_ratio != phi^2',
tools/dnd_rottura.py:355:    print(f"  Soglia    | n_int | gap_ratio | gap_finale | Identica?")
tools/dnd_rottura.py:367:        gr = obs.get('gap_ratio_medio', None)
tools/dnd_rottura.py:373:            'gap_ratio': float(gr) if gr else None,
tools/dnd_rottura.py:385:    # Il gap_ratio è φ² indipendentemente dalla soglia? → Sì, perché la regola è la stessa.
tools/dnd_rottura.py:386:    grs = [s['gap_ratio'] for s in spirali_soglia if s['gap_ratio']]
tools/dnd_rottura.py:389:        print(f"\n  CV gap_ratio tra soglie = {cv:.6f}")
tools/dnd_rottura.py:409:    print(f"  Segnale       | gap_ratio | gap_finale | n_int")
tools/dnd_rottura.py:424:            'gap_ratio': float(obs.get('gap_ratio_medio', 0)),
tools/dnd_rottura.py:431:        print(f"  {nome:15s} | {entry['gap_ratio']:.6f} | {entry['gap_finale']:.2e} | {n}")
tools/dnd_rottura.py:460:    print(f"     (L'interferenza non è nel gap_ratio, che è SEMPRE φ².")
tools/dnd_controprove.py:77:        gap_ratios = []
tools/dnd_controprove.py:80:                gap_ratios.append(abs(gaps[i-1]) / abs(gaps[i]))
tools/dnd_controprove.py:84:        if gap_ratios:
tools/dnd_controprove.py:85:            print(f"       Rapporto gap ultimi 3: {', '.join(f'{r:.4f}' for r in gap_ratios[-3:])}")
tools/dnd_controprove.py:90:                  f"{abs(gap_ratios[-1] - target_sq):.6f} "
tools/dnd_controprove.py:91:                  f"({'SÌ' if abs(gap_ratios[-1] - target_sq) < 0.1 else 'NO'})")
tools/dnd_controprove.py:255:        gap_ratios = []
tools/dnd_controprove.py:258:                gap_ratios.append(gaps[i-1] / gaps[i])  # con segno
tools/dnd_controprove.py:262:        if gap_ratios:
tools/dnd_controprove.py:263:            print(f"    Rapporto gap (ultimi): {gap_ratios[-1]:.6f}")
tools/dnd_controprove.py:316:        gap_ratios = []
tools/dnd_controprove.py:319:                gap_ratios.append(gaps[i-1] / gaps[i])
tools/dnd_controprove.py:322:        rg_str = f"{gap_ratios[-1]:.6f}" if gap_ratios else "N/A"
tools/exp_coherence_robustness.py:36:def gap_ratio(gaps):
tools/exp_coherence_robustness.py:82:    r_prime = np.array([gap_ratio(w) for w in windows])
tools/exp_coherence_robustness.py:90:            r = gap_ratio(shuf)
tools/dnd_trasmutazione.py:565:    # della spirale (gap_ratio → φ²) è universale.
tools/dnd_trasmutazione.py:567:    print(f"  Segnale         | gap_ratio→ | gap_finale | n_step | Tasso conv.")
tools/dnd_trasmutazione.py:582:        gap_ratio = obs.get('gap_ratio_medio', None)
tools/dnd_trasmutazione.py:595:            'gap_ratio': float(gap_ratio) if gap_ratio else None,
tools/dnd_trasmutazione.py:603:        gr_str = f"{gap_ratio:.4f}" if gap_ratio else "N/A"
tools/dnd_trasmutazione.py:606:              f"{'φ²={:.4f}'.format(PHI**2) if gap_ratio and abs(gap_ratio - PHI**2) < 0.5 else ''}")
tools/dnd_trasmutazione.py:608:    # Il gap_ratio dovrebbe convergere a φ² ≈ 2.618 per tutti
tools/dnd_trasmutazione.py:609:    gap_ratios_valid = [s['gap_ratio'] for s in spirali
tools/dnd_trasmutazione.py:610:                        if s['gap_ratio'] and np.isfinite(s['gap_ratio'])]
tools/dnd_trasmutazione.py:611:    if gap_ratios_valid:
tools/dnd_trasmutazione.py:612:        media_gr = np.mean(gap_ratios_valid)
tools/dnd_trasmutazione.py:613:        cv_gr = np.std(gap_ratios_valid) / media_gr if media_gr > 0 else float('inf')
tools/dnd_trasmutazione.py:617:        results['spirale_gap_ratio_medio'] = float(media_gr)
tools/dnd_trasmutazione.py:618:        results['spirale_gap_ratio_cv'] = float(cv_gr)
tools/dnd_trasmutazione.py:691:    if 'spirale_gap_ratio_cv' in t4:
tools/dnd_trasmutazione.py:692:        chiavi['T4_gap_ratio_cv'] = t4['spirale_gap_ratio_cv']
tools/dnd_trasmutazione.py:693:        chiavi['T4_gap_ratio_medio'] = t4.get('spirale_gap_ratio_medio', 0)
tools/dnd_trasmutazione.py:694:        print(f"  T4 (Indeterminazione): gap_ratio CV = {t4['spirale_gap_ratio_cv']:.4f}, "
tools/dnd_trasmutazione.py:695:              f"media = {t4.get('spirale_gap_ratio_medio', 0):.4f} (φ²={PHI**2:.4f})")
tools/data/reports/insights_20260306_0342.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_0342.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260306_0342.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_0342.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/dnd_kernel.py:12:  4. Incompletezza e trascendenza sono la stessa proprieta — il fatto
tools/dnd_kernel.py:70:    'P0_incompletezza_trascendenza': {
tools/dnd_kernel.py:71:        'enunciato': 'Incompletezza e trascendenza sono la stessa proprieta.',
tools/dnd_kernel.py:120:    'diagramma_fase': '(det, tr) -> generativo/sterile/espansivo. La mappa completezza/trascendenza.',
tools/data/reports/agent_20260507_2203.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/lab_results.json:20:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:29:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:62:        "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:75:        "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:89:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:98:          "gap_ratio": 2.6181226561577335,
tools/data/lab_results.json:107:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:116:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:125:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:134:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:143:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:152:          "gap_ratio": 2.6181226561577335,
tools/data/lab_results.json:161:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:170:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:179:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:188:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:202:          "gap_ratio": 2.618092361492802,
tools/data/lab_results.json:211:          "gap_ratio": 2.6180158235383035,
tools/data/lab_results.json:220:          "gap_ratio": 2.6180791141406927,
tools/data/lab_results.json:229:          "gap_ratio": 2.617990568663733,
tools/data/lab_results.json:238:          "gap_ratio": 2.6181558954444286,
tools/data/lab_results.json:247:          "gap_ratio": 2.6180500929168,
tools/data/reports/insights_20260307_0342.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260307_0342.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260307_0342.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260307_0342.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260306_0342.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_0342.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260306_0342.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_0342.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260507_2203.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/insights_20260307_0342.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260307_0342.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260307_0342.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260307_0342.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/cycle_20260307_0342.json:939:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/exp_spectral_landscape.py:183:    """Harper/Hofstadter model: H = 2cos(2*pi*alpha*n + theta).
tools/exp_spectral_landscape.py:347:        ("Harper_phi", gen_harper_model, {}),
tools/exp_spectral_landscape.py:348:        ("Harper_rational", gen_harper_model, {"alpha": 1/3}),
tools/dnd_riformulazioni.py:137:        'gap_ratio': obs.get('gap_ratio_medio', 0),
tools/dnd_banchi.py:10:  1. SPETTRALE  — r-statistic, V_c, dualita'
tools/dnd_banchi.py:88:    """Confronta V_c per diverse frequenze irrazionali."""
tools/dnd_banchi.py:104:    # V_c: where <r> crosses 0.5
tools/dnd_banchi.py:111:    results[name] = {{"V_c": vc, "r_at_V1": r_at_1[0][1] if r_at_1 else None}}
tools/dnd_banchi.py:115:        'criterio': 'V_c(phi) piu\' vicino a 1 di tutti i controlli',
tools/dnd_banchi.py:211:print("Famiglia det=-1 vs det=+1 — V_c e Lyapunov:")
tools/dnd_banchi.py:375:    'V_c': {
tools/dnd_banchi.py:458:    'V_c': (
tools/data/reports/cycle_20260307_0342.json:939:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/dnd_experiments.py:159:                'gap_ratio': obs.get('gap_ratio_medio'),
tools/dnd_experiments.py:302:        gap_ratio = None
tools/dnd_experiments.py:307:            gap_ratio = obs.get('gap_ratio_medio')
tools/dnd_experiments.py:316:            'gap_ratio': gap_ratio,
tools/dnd_experiments.py:414:        gap_ratio = None
tools/dnd_experiments.py:419:            gap_ratio = obs.get('gap_ratio_medio')
tools/dnd_experiments.py:439:            'gap_ratio': gap_ratio,
tools/dnd_experiments.py:683:        entry['gap_ratio'] = obs.get('gap_ratio_medio')
tools/dnd_experiments.py:684:        entry['gap_ratio_ultimo'] = obs.get('gap_ratio_ultimo')
tools/dnd_experiments.py:699:        gr = entry.get('gap_ratio', 0)
tools/dnd_experiments.py:714:    gr_data = [(v['T_ratio'], v['gap_ratio']) for v in results.values()
tools/dnd_experiments.py:715:               if v.get('gap_ratio') and v['gap_ratio'] < 100]
tools/data/reports/cycle_20260306_1834.json:1318:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/exp_boundary_growth.py:25:def gap_ratio(gaps):
tools/exp_boundary_growth.py:49:    return gap_ratio(shuffled)
tools/exp_boundary_growth.py:82:        r_prime = gap_ratio(gaps)
tools/exp_boundary_growth.py:90:                r_cramer_list.append(gap_ratio(cramer_gaps))
tools/data/lab_results.json:20:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:29:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:62:        "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:75:        "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:89:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:98:          "gap_ratio": 2.6181226561577335,
tools/data/lab_results.json:107:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:116:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:125:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:134:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:143:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:152:          "gap_ratio": 2.6181226561577335,
tools/data/lab_results.json:161:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:170:          "gap_ratio": 2.6180145125477585,
tools/data/lab_results.json:179:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:188:          "gap_ratio": 2.6180861695660687,
tools/data/lab_results.json:202:          "gap_ratio": 2.618092361492802,
tools/data/lab_results.json:211:          "gap_ratio": 2.6180158235383035,
tools/data/lab_results.json:220:          "gap_ratio": 2.6180791141406927,
tools/data/lab_results.json:229:          "gap_ratio": 2.617990568663733,
tools/data/lab_results.json:238:          "gap_ratio": 2.6181558954444286,
tools/data/lab_results.json:247:          "gap_ratio": 2.6180500929168,
tools/data/reports/cycle_20260306_1834.json:1318:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/data/reports/agent_20260507_2157.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/lagrangiana_20260305_1048.json:4:  "claim": "Principio Lagrangiano DOPPIO: 1/phi ha V_c \u2248 1.035 (rank 2/14) + massima stabilita' (CV=4.6%, rank 1/6)",
tools/data/reports/cycle_20260315_0346.json:939:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/data/reports/agent_20260507_2157.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/lagrangiana_20260305_1048.json:4:  "claim": "Principio Lagrangiano DOPPIO: 1/phi ha V_c \u2248 1.035 (rank 2/14) + massima stabilita' (CV=4.6%, rank 1/6)",
tools/data/reports/next_exec_20260403_0330.json:16:        "action": "EXPLORE: M_relazione_orizzonte_degli_L0 — Cosa manca per confermare completamente gap_ratio: phi=0.409",
tools/data/reports/cycle_20260315_0346.json:939:      "claim": "V_c = 1.000 ≈ 1 (err 0.0000)"
tools/data/reports/next_exec_20260403_0330.json:16:        "action": "EXPLORE: M_relazione_orizzonte_degli_L0 — Cosa manca per confermare completamente gap_ratio: phi=0.409",
tools/data/seme_backup_pre_run.json:8:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_backup_pre_run.json:52:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_backup_pre_run.json:73:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_backup_pre_run.json:152:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_backup_pre_run.json:154:      "nota": "Dal domandatore (2026-05-07T21:20).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_backup_pre_run.json:172:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme_backup_pre_run.json:174:      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme_backup_pre_run.json:181:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/seme_backup_pre_run.json:182:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme_backup_pre_run.json:372:    "Nuove tensioni: {'TRANS_BOUNDARY_TRASCENDENZA_LIMITE', 'COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE', 'TENS_SCALE_TRASCENDENZA_LIMITE', 'COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE', 'FALS_BREAK_TRASCENDENZA_LIMITE', 'M_trascendenza_limite_attuale_L0'}",
tools/data/reports/insights_20260401_0346.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260401_0346.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260401_0346.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260401_0346.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260406_1030.md:13:- 17 domains (GUE, GOE, GSE, Poisson, power-law, picket fence, clock jitter, primes, semi-Poisson, Berry-Robnik x3, Anderson 1D, Harper phi/rational, quadratic residues)
tools/data/reports/agent_20260406_1030.md:23:| Harper_phi | 0.320 | -0.003 | -0.6 | POISSON |
tools/data/reports/agent_20260406_1030.md:39:| Harper rational | 0.996 | +0.002 | +0.6 | RIGID |
tools/data/reports/insights_20260401_0346.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260401_0346.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260401_0346.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260401_0346.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/agent_field_live.md:51:  - **claim**: Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c
tools/data/agent_field_live.md:101:- **Tensione attaccata**: [TRASCENDENZA_LIMITE] La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono 
tools/data/agent_field_live.md:113:- [TRASCENDENZA_LIMITE] (0.9)  La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare i
tools/data/agent_field_live.md:114:- [G_POTENZIALE_NULLA] (0.85)  G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e 
tools/data/agent_field_live.md:120:- [TRANS_BOUNDARY_TRASCENDENZA_LIMITE] (0.8)  Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti
tools/data/agent_field_live.md:236:**Esperimento a massima informazione:** M_trascendenza_limite_attuale_L0 (score=0.872)
tools/data/agent_field_live.md:237:  M_trascendenza_limite_attuale_L0: incerto (i=0.529179606750063) — massimo potere discriminante
tools/data/reports/agent_20260406_1030.md:13:- 17 domains (GUE, GOE, GSE, Poisson, power-law, picket fence, clock jitter, primes, semi-Poisson, Berry-Robnik x3, Anderson 1D, Harper phi/rational, quadratic residues)
tools/data/reports/agent_20260406_1030.md:23:| Harper_phi | 0.320 | -0.003 | -0.6 | POISSON |
tools/data/reports/agent_20260406_1030.md:39:| Harper rational | 0.996 | +0.002 | +0.6 | RIGID |
tools/data/agent_field_live.md:51:  - **claim**: Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c
tools/data/agent_field_live.md:101:- **Tensione attaccata**: [TRASCENDENZA_LIMITE] La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono 
tools/data/agent_field_live.md:113:- [TRASCENDENZA_LIMITE] (0.9)  La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare i
tools/data/agent_field_live.md:114:- [G_POTENZIALE_NULLA] (0.85)  G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e 
tools/data/agent_field_live.md:120:- [TRANS_BOUNDARY_TRASCENDENZA_LIMITE] (0.8)  Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti
tools/data/agent_field_live.md:236:**Esperimento a massima informazione:** M_trascendenza_limite_attuale_L0 (score=0.872)
tools/data/agent_field_live.md:237:  M_trascendenza_limite_attuale_L0: incerto (i=0.529179606750063) — massimo potere discriminante
tools/data/reports/agent_20260507_2120.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/seme_backup_pre_run.json:8:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_backup_pre_run.json:52:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_backup_pre_run.json:73:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_backup_pre_run.json:152:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_backup_pre_run.json:154:      "nota": "Dal domandatore (2026-05-07T21:20).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_backup_pre_run.json:172:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme_backup_pre_run.json:174:      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme_backup_pre_run.json:181:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/seme_backup_pre_run.json:182:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme_backup_pre_run.json:372:    "Nuove tensioni: {'TRANS_BOUNDARY_TRASCENDENZA_LIMITE', 'COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE', 'TENS_SCALE_TRASCENDENZA_LIMITE', 'COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE', 'FALS_BREAK_TRASCENDENZA_LIMITE', 'M_trascendenza_limite_attuale_L0'}",
tools/data/reports/agent_20260507_2120.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/insights_20260306_1834.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_1834.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260306_1834.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_1834.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/seme.json:8:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme.json:52:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme.json:73:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme.json:152:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme.json:154:      "nota": "Dal domandatore (2026-05-07T21:20).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme.json:172:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme.json:174:      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme.json:181:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/seme.json:182:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme.json:372:    "Nuove tensioni: {'TRANS_BOUNDARY_TRASCENDENZA_LIMITE', 'COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE', 'TENS_SCALE_TRASCENDENZA_LIMITE', 'COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE', 'FALS_BREAK_TRASCENDENZA_LIMITE', 'M_trascendenza_limite_attuale_L0'}",
tools/data/reports/insights_20260306_1834.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_1834.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260306_1834.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260306_1834.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/agent_20260507_0803.md:149:  about Sturmian or Beatty sequences.
tools/data/reports/agent_20260507_0803.md:149:  about Sturmian or Beatty sequences.
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:3:  CLAIM: La trascendenza e il limite attuale del modello. I punti fissi relazionali (non 
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:5:    [duale   ] GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE: Il duale di "La trascendenza e il limite attuale del modello
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:6:    [confine ] BOUNDARY_TRASCENDENZA_LIMITE: Tra gli estremi del claim "La trascendenza e il limite attua
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:7:    [dominio ] DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE: L'effetto "La trascendenza e il limite attuale del " si mani
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:8:    [rottura ] BREAK_TRASCENDENZA_LIMITE: Il claim "La trascendenza e il limite attuale del modello. I
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:9:    [scala   ] SCALE_TRASCENDENZA_LIMITE: L'effetto in "La trascendenza e il limite attuale del modell
tools/data/arxiv_cache.json:41:      "title": "On and Off-diagonal Sturmian operator: dynamic and spectral dimension",
tools/data/arxiv_cache.json:97:      "abstract_snippet": "&#9661; More Topological quantum optical states in one-dimensional (1D) quasiperiodic cold atomic chains are studied in this work. We propose that by introducing incommensurate modulations on the interatomic distances of 1D periodic atomic chains, the off-diagonal Aubry-André-Harper (AAH) model can ",
tools/data/arxiv_cache.json:174:      "abstract_snippet": "&#9661; More We theoretically investigate criticality and multifractal states in a one-dimensional Aubry-Andre-Harper model coupled to electromagnetic cavities. We focus on two specific cases where the phonon frequencies are $ω_{0}=1$ and $ω_{0}=2$, respectively. Phase transitions are analyzed using",
tools/data/reports/next_exec_20260401_0346.json:22:        "action": "EXPLORE: M_det_minus_one_L0 — Cosa manca per confermare completamente gap_ratio: phi=0.409",
tools/data/reports/next_exec_20260401_0346.json:22:        "action": "EXPLORE: M_det_minus_one_L0 — Cosa manca per confermare completamente gap_ratio: phi=0.409",
tools/data/riformulazioni.json:13:        "gap_ratio": 2.6180740677926337,
tools/data/riformulazioni.json:69:        "gap_ratio": 2.618037048594604,
tools/data/lab_data.json:37:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici.",
tools/data/lab_data.json:79:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le r",
tools/data/reports/agent_20260507_1804.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/agent_20260507_1804.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/next_exec_20260305_1111.json:22:        "action": "CRYSTALLIZE: LAGRANGIANA_DOPPIA — Principio Lagrangiano DOPPIO: 1/phi minimizza V_c (rank 2/14",
tools/data/reports/next_exec_20260305_1111.json:22:        "action": "CRYSTALLIZE: LAGRANGIANA_DOPPIA — Principio Lagrangiano DOPPIO: 1/phi minimizza V_c (rank 2/14",
tools/data/tm1_figures/summary.json:18:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 \u2014 phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/tm1_figures/summary.json:23:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 \u2014 phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/tm1_figures/version.json:59:      "summary": "Lagrangian L = CV + V_c. Self-duality at V=1. det=-1 discriminant 3.2x over det=+1.",
tools/data/tm1_figures/version.json:67:      "summary": "All metallic means tr=1..7 tested. Only Q(sqrt5) has V_c ~ 1. phi minimizes topological entropy. V=2 = inertia, not criticality.",
tools/data/tm1_figures/version.json:83:      "summary": "Bulk spectral statistics (<r>, V_c, Lyapunov) do NOT distinguish phi from silver. Gap Labeling universal for all det=-1. Phi is the minimal representative of the det=-1 universality class, not a statistically special case. M operator (2x2 knowledge matrix) built into research engine.",
tools/data/domandatore/domandatore_20260307_1317.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_1317.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_1317.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_1317.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1317.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_1317.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_1317.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1317.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/tm1_figures/tensions_raw.json:13:      "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/tm1_figures/tensions.json:13:      "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/reports/insights_20260405_0729.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260405_0729.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260405_0729.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260405_0729.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260405_0729.json:53:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260405_0729.json:58:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/reports/insights_20260405_0729.json:99:      "claim": "V_c = 1.000 \u2248 1 (err 0.0000)",
tools/data/reports/insights_20260405_0729.json:101:      "nota": "V_c stabile a 1.000. Phi vs sqrt(2): 1.000 vs 1.948"
tools/data/trasmutazione_results.json:416:    "spirale_gap_ratio_medio": 2.6180513981505733,
tools/data/trasmutazione_results.json:417:    "spirale_gap_ratio_cv": 1.4292502486555382e-05,
tools/data/trasmutazione_results.json:422:        "gap_ratio": 2.6180145125477585,
tools/data/trasmutazione_results.json:430:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:438:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:446:        "gap_ratio": 2.6179938106753506,
tools/data/trasmutazione_results.json:454:        "gap_ratio": 2.6180415569821247,
tools/data/trasmutazione_results.json:462:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:475:    "T4_gap_ratio_cv": 1.4292502486555382e-05,
tools/data/trasmutazione_results.json:476:    "T4_gap_ratio_medio": 2.6180513981505733
tools/data/reports/agent_20260507_1938.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/reports/agent_20260507_1938.md:9:> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.
tools/data/domandatore/domandatore_20260405_0753.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0753.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0753.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0753.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/engine_state.json:24:      "ipotesi": "gap_ratio = 2.618079 (cv=0.000014)",
tools/data/engine_state.json:25:      "test": "Trovare un dominio dove gap_ratio != phi^2",
tools/data/engine_state.json:108:      "claim": "CV della stabilità (V_c) correla con <r> al 92%: frequenze p"
tools/data/engine_state.json:120:      "claim": "Noble numbers (cf coda 1) hanno V_c medio 1.06 vs non-nobili"
tools/data/engine_state.json:132:      "claim": "V_c > 1 nel 88% dei campioni per φ: direzione preferenziale "
tools/data/domandatore/domandatore_20260405_0723.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260405_0723.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0723.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0723.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0723.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260405_0723.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0723.json:54:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0723.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0723.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260405_0723.json:91:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0723.json:105:    "tensione": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260305_1955.json:15:      "criterio": "phi V_c < silver V_c < bronze V_c — il campo algebrico determina V_c",
tools/data/domandatore/domandatore_20260305_1955.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_1955.json:34:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260328_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260328_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260328_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260328_0343.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260331_1806.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260331_1806.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260331_1806.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260331_1806.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260331_1806.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260331_1806.json:75:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260306_1032.json:5:    "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/domandatore/domandatore_20260306_1032.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260306_1032.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1032.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1032.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1032.json:40:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260306_1032.json:42:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1032.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260306_1032.json:60:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:61:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260306_1032.json:63:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 2], rapporto: 1.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:65:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1032.json:75:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:78:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 3], rapporto: 0.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:80:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1032.json:90:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 4], rapporto: 0.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:95:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260507_2120.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2120.json:14:      "ipotesi": "Il duale di \"La trascendenza e il limite attuale del modello. I\" [catalogo: custom]",
tools/data/domandatore/domandatore_20260507_2120.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260507_2120.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260507_2120.json:22:      "ipotesi": "Tra gli estremi del claim \"La trascendenza e il limite attuale del modello. I\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260507_2120.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260507_2120.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260507_2120.json:32:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260507_2120.json:34:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260507_2120.json:39:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260507_2120.json:45:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2120.json:46:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260507_2120.json:48:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [1, 1], rapporto: 1.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2120.json:50:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2120.json:60:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2120.json:63:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [2, 1], rapporto: 2.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2120.json:65:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2120.json:75:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0815.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0815.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0815.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0815.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0815.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0815.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0815.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0815.json:136:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0815.json:150:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/curva_results.json:11:        "gap_ratio": 0.9999999999999998,
tools/data/curva_results.json:22:        "gap_ratio": 1.0,
tools/data/curva_results.json:33:        "gap_ratio": 1.0000000000000018,
tools/data/curva_results.json:44:        "gap_ratio": 2.586584409253611,
tools/data/curva_results.json:55:        "gap_ratio": 0.9999999999999929,
tools/data/curva_results.json:66:        "gap_ratio": 0.999999999999995,
tools/data/curva_results.json:77:        "gap_ratio": 0.9999999999999958,
tools/data/curva_results.json:88:        "gap_ratio": 0.9999999999999959,
tools/data/curva_results.json:99:        "gap_ratio": 0.9999999999999958,
tools/data/curva_results.json:107:    "cv_gap_ratio_curva": 0.423889160597429,
tools/data/domandatore/domandatore_20260305_1956.json:15:      "criterio": "phi V_c < silver V_c < bronze V_c — il campo algebrico determina V_c",
tools/data/domandatore/domandatore_20260305_1956.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_1956.json:32:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/domandatore/domandatore_20260305_1956.json:34:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260402_0803.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260402_0803.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260402_0803.json:32:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260402_0803.json:34:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:39:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260402_0803.json:46:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260402_0803.json:75:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/neuron_snapshot.json:233:      "detail": "[P18] V_c > 1 per tutte le N. phi sta appena oltre l'auto-dualita', sul lato localizzato.",
tools/data/neuron_snapshot.json:233:      "detail": "[P18] V_c > 1 per tutte le N. phi sta appena oltre l'auto-dualita', sul lato localizzato.",
tools/data/knowledge_state.json:95:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:111:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:159:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:172:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:177:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:180:    "V_c_transition": {
tools/data/knowledge_state.json:188:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:204:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:220:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:236:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:238:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:252:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:254:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:268:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:284:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:286:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di d",
tools/data/knowledge_state.json:300:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:316:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:332:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:334:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:348:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:350:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:364:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:382:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:398:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:446:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:462:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:478:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:526:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:539:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:540:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:541:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:542:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:543:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:545:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:546:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:551:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di d",
tools/data/knowledge_state.json:554:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:555:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:600:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:616:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:648:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:661:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state.json:665:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:678:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state.json:707:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze "
tools/data/knowledge_state.json:851:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:869:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:898:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:946:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:994:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1026:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1074:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1090:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1106:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1154:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1186:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1234:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1250:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1298:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1314:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1362:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1376:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1378:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1381:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1383:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1385:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1392:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1393:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1394:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1395:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1396:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1397:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1410:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1426:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1474:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1490:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1506:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1554:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1567:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1568:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1570:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1571:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1575:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1576:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1579:    "incompletezza=trascendenza,_normalizzatore_riesce": {
tools/data/knowledge_state.json:1587:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1589:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1603:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1605:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1619:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1635:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1651:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1653:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1667:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1669:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1683:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1685:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1699:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1715:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1731:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1733:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1747:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1749:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1763:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1765:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1779:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1795:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1811:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1813:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1826:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1828:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1830:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1834:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1835:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1836:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1849:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1865:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1913:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1926:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1930:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1943:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1959:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1991:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2007:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2039:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2055:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2084:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2085:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2086:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2100:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2132:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2161:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2162:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2192:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2222:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2252:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2281:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2295:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2311:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2340:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2354:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2370:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2383:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2397:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2413:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2426:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2440:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2456:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2488:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2520:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2533:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2537:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2566:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2614:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2627:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2631:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2634:    "trascendenza_limite_attuale": {
tools/data/knowledge_state.json:2642:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2644:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2658:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2660:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2674:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2690:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2706:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2708:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2721:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2725:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2770:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2776:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2782:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2908:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2914:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2920:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2926:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2932:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2938:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3004:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3010:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3016:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3082:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3088:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3094:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3100:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3106:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3112:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3118:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3124:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3130:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3136:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3142:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3148:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3154:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3160:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3166:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3202:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3208:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3214:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3220:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3226:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3232:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3238:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3244:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3250:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3256:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3652:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3658:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3664:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3670:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3676:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3688:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state.json:3710:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3718:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3721:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3729:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3732:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3754:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3765:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3776:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3784:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3787:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3795:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3809:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3831:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3842:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3853:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3875:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3886:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3897:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3908:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3930:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3941:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3952:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3963:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3985:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:4004:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:4007:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:4015:      "topic": "trascendenza_limite_attuale",
tools/data/exp_spectral_landscape.json:189:      "name": "Harper_phi",
tools/data/exp_spectral_landscape.json:202:      "name": "Harper_rational",
tools/data/exp_spectral_landscape.json:249:      "Harper_rational"
tools/data/exp_spectral_landscape.json:255:      "Harper_phi"
tools/data/autoricerca_journal.json:12:    "gap_ratio": 2.6181003744227653,
tools/data/autoricerca_journal.json:30:    "gap_ratio": 2.618013050556921,
tools/data/autoricerca_journal.json:48:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:66:    "gap_ratio": 2.6181659442748706,
tools/data/autoricerca_journal.json:85:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:103:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:121:    "gap_ratio": 2.6180992382029853,
tools/data/autoricerca_journal.json:140:    "gap_ratio": 2.618052995798036,
tools/data/autoricerca_journal.json:158:    "gap_ratio": 2.618054344736462,
tools/data/autoricerca_journal.json:176:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:194:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:212:    "gap_ratio": null,
tools/data/autoricerca_journal.json:230:    "gap_ratio": 2.6179961138648857,
tools/data/autoricerca_journal.json:246:    "gap_ratio": 2.618000627518817,
tools/data/autoricerca_journal.json:267:    "gap_ratio": 2.618010024331583,
tools/data/autoricerca_journal.json:288:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:309:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:330:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:351:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:372:    "gap_ratio": 2.6180657416149122,
tools/data/autoricerca_journal.json:393:    "gap_ratio": 2.6180273097029363,
tools/data/autoricerca_journal.json:415:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:436:    "gap_ratio": 2.6180561835358156,
tools/data/autoricerca_journal.json:458:    "gap_ratio": 2.6181558954444286,
tools/data/autoricerca_journal.json:480:    "gap_ratio": 2.6178194637459913,
tools/data/autoricerca_journal.json:496:    "gap_ratio": 2.618052366725915,
tools/data/autoricerca_journal.json:517:    "gap_ratio": 2.618083112748878,
tools/data/autoricerca_journal.json:538:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:559:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:580:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:601:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:622:    "gap_ratio": 2.618040157933522,
tools/data/autoricerca_journal.json:643:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:664:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:685:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:706:    "gap_ratio": 2.6182289070459417,
tools/data/autoricerca_journal.json:728:    "gap_ratio": 2.617999510441712,
tools/data/autoricerca_journal.json:744:    "gap_ratio": 2.6179995658905124,
tools/data/autoricerca_journal.json:765:    "gap_ratio": 2.618005675381746,
tools/data/autoricerca_journal.json:786:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:807:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:828:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:849:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:870:    "gap_ratio": 2.6178207216989255,
tools/data/autoricerca_journal.json:891:    "gap_ratio": 2.618058359142931,
tools/data/autoricerca_journal.json:912:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:933:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:954:    "gap_ratio": 2.61812538091709,
tools/data/autoricerca_journal.json:976:    "gap_ratio": 2.6178927256972644,
tools/data/autoricerca_journal.json:992:    "gap_ratio": 2.618070009774494,
tools/data/autoricerca_journal.json:1013:    "gap_ratio": 2.6181353045089946,
tools/data/autoricerca_journal.json:1034:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1055:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1076:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1097:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1118:    "gap_ratio": 2.618013784972057,
tools/data/autoricerca_journal.json:1139:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1160:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1181:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1202:    "gap_ratio": 2.618168141650878,
tools/data/autoricerca_journal.json:1224:    "gap_ratio": 2.6172515958788702,
tools/data/autoricerca_journal.json:1240:    "gap_ratio": 2.618022931289666,
tools/data/autoricerca_journal.json:1261:    "gap_ratio": 2.618002913749026,
tools/data/autoricerca_journal.json:1282:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1303:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1324:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1345:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1366:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1387:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1408:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1429:    "gap_ratio": 2.618062208777077,
tools/data/autoricerca_journal.json:1450:    "gap_ratio": 2.6181350076378287,
tools/data/autoricerca_journal.json:1472:    "gap_ratio": 2.6179624587526376,
tools/data/autoricerca_journal.json:1488:    "gap_ratio": 2.61815609422496,
tools/data/autoricerca_journal.json:1509:    "gap_ratio": 2.6180622143819567,
tools/data/autoricerca_journal.json:1530:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1551:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1572:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1593:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1614:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1635:    "gap_ratio": 2.6180559888007937,
tools/data/autoricerca_journal.json:1656:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1677:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1698:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1720:    "gap_ratio": 2.6181687775953564,
tools/data/autoricerca_journal.json:1736:    "gap_ratio": 2.6180122494155116,
tools/data/autoricerca_journal.json:1757:    "gap_ratio": 2.618041989408766,
tools/data/autoricerca_journal.json:1778:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1799:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1820:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1841:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1862:    "gap_ratio": 2.618114810623144,
tools/data/autoricerca_journal.json:1883:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1904:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1925:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:1946:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:1968:    "gap_ratio": 2.6178261870654813,
tools/data/autoricerca_journal.json:1984:    "gap_ratio": 2.618094232784563,
tools/data/autoricerca_journal.json:2005:    "gap_ratio": 2.618046853857204,
tools/data/autoricerca_journal.json:2026:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2047:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2068:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2089:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2110:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:2131:    "gap_ratio": 2.6180752648206465,
tools/data/autoricerca_journal.json:2152:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2173:    "gap_ratio": 2.618036554614693,
tools/data/autoricerca_journal.json:2194:    "gap_ratio": 2.618168141650878,
tools/data/autoricerca_journal.json:2216:    "gap_ratio": 2.6183140464963346,
tools/data/autoricerca_journal.json:2232:    "gap_ratio": 2.6180982216379207,
tools/data/autoricerca_journal.json:2253:    "gap_ratio": 2.6180985747417154,
tools/data/autoricerca_journal.json:2274:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2295:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2316:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2337:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2358:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2379:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2400:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2421:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:2442:    "gap_ratio": 2.618146906797608,
tools/data/autoricerca_journal.json:2464:    "gap_ratio": 2.6176554506152763,
tools/data/autoricerca_journal.json:2480:    "gap_ratio": 2.618139056303524,
tools/data/autoricerca_journal.json:2501:    "gap_ratio": 2.61752638547677,
tools/data/autoricerca_journal.json:2522:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2543:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2564:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2585:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2606:    "gap_ratio": 2.618023012845744,
tools/data/autoricerca_journal.json:2627:    "gap_ratio": 2.618031836715521,
tools/data/autoricerca_journal.json:2648:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2669:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2690:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:2712:    "gap_ratio": 2.6178841844706975,
tools/data/autoricerca_journal.json:2728:    "gap_ratio": 2.61799925929796,
tools/data/autoricerca_journal.json:2749:    "gap_ratio": 2.618840978812849,
tools/data/autoricerca_journal.json:2770:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2791:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2812:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2833:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2854:    "gap_ratio": 2.6179583613928252,
tools/data/autoricerca_journal.json:2875:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2896:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2917:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2938:    "gap_ratio": 2.618015221709845,
tools/data/autoricerca_journal.json:2960:    "gap_ratio": 2.6191837922607855,
tools/data/autoricerca_journal.json:2976:    "gap_ratio": 2.6179989279323594,
tools/data/autoricerca_journal.json:2997:    "gap_ratio": 2.617856711082645,
tools/data/autoricerca_journal.json:3018:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3039:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3060:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3081:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3102:    "gap_ratio": 2.618071638979952,
tools/data/autoricerca_journal.json:3123:    "gap_ratio": 2.618039051792793,
tools/data/autoricerca_journal.json:3144:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3165:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:3186:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:3208:    "gap_ratio": 2.619674392532608,
tools/data/autoricerca_journal.json:3224:    "gap_ratio": 2.618102108801703,
tools/data/autoricerca_journal.json:3245:    "gap_ratio": 2.6181730771951615,
tools/data/autoricerca_journal.json:3266:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3287:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3308:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3329:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3350:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3371:    "gap_ratio": 2.6179716597501868,
tools/data/autoricerca_journal.json:3392:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3413:    "gap_ratio": 2.618028263919105,
tools/data/autoricerca_journal.json:3435:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3458:    "gap_ratio": 2.618583164742336,
tools/data/autoricerca_journal.json:3474:    "gap_ratio": 2.6179784403022834,
tools/data/autoricerca_journal.json:3495:    "gap_ratio": 2.6180980554589217,
tools/data/autoricerca_journal.json:3516:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3537:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3558:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3579:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3600:    "gap_ratio": 2.61804923280484,
tools/data/autoricerca_journal.json:3621:    "gap_ratio": 2.61804923280484,
tools/data/autoricerca_journal.json:3642:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3663:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:3684:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3706:    "gap_ratio": 2.617598538064385,
tools/data/autoricerca_journal.json:3722:    "gap_ratio": 2.618151847442283,
tools/data/autoricerca_journal.json:3743:    "gap_ratio": 2.6180554737002515,
tools/data/autoricerca_journal.json:3764:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3785:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3806:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3827:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3848:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3869:    "gap_ratio": 2.6182096079180663,
tools/data/autoricerca_journal.json:3890:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3911:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3932:    "gap_ratio": 2.6182289070459417,
tools/data/autoricerca_journal.json:3954:    "gap_ratio": 2.6184118843809094,
tools/data/autoricerca_journal.json:3970:    "gap_ratio": 2.6177557006899663,
tools/data/autoricerca_journal.json:3991:    "gap_ratio": 2.60574519484381,
tools/data/autoricerca_journal.json:4012:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4033:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4054:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4075:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4096:    "gap_ratio": 2.618025382171072,
tools/data/autoricerca_journal.json:4117:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4138:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4159:    "gap_ratio": 2.618066514257822,
tools/data/autoricerca_journal.json:4181:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4203:    "gap_ratio": 2.617827509488717,
tools/data/autoricerca_journal.json:4219:    "gap_ratio": 2.6180478501437427,
tools/data/autoricerca_journal.json:4240:    "gap_ratio": 2.618027944880501,
tools/data/autoricerca_journal.json:4261:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4282:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4303:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4324:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4345:    "gap_ratio": 2.618013856475355,
tools/data/autoricerca_journal.json:4366:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4387:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4408:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4429:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:4450:    "gap_ratio": 2.6181596433610457,
tools/data/autoricerca_journal.json:4471:    "gap_ratio": 2.6176328119482575,
tools/data/autoricerca_journal.json:4492:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4513:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4534:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4555:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4576:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4597:    "gap_ratio": 2.6180641119651176,
tools/data/autoricerca_journal.json:4618:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4639:    "gap_ratio": 2.6181350076378287,
tools/data/autoricerca_journal.json:4660:    "gap_ratio": 2.618146906797608,
tools/data/autoricerca_journal.json:4682:    "gap_ratio": 2.618107765362995,
tools/data/autoricerca_journal.json:4698:    "gap_ratio": 2.618009552811787,
tools/data/autoricerca_journal.json:4719:    "gap_ratio": 2.617995779370923,
tools/data/autoricerca_journal.json:4740:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4761:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4782:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4803:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4824:    "gap_ratio": 2.618067653229329,
tools/data/autoricerca_journal.json:4845:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4866:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4887:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:4908:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:4930:    "gap_ratio": 2.618340378019019,
tools/data/autoricerca_journal.json:4946:    "gap_ratio": 2.6180112887041824,
tools/data/autoricerca_journal.json:4967:    "gap_ratio": 2.6180801595754275,
tools/data/autoricerca_journal.json:4988:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5009:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5030:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5051:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5072:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5093:    "gap_ratio": 2.6179938106753506,
tools/data/autoricerca_journal.json:5114:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5135:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:5156:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5178:    "gap_ratio": 2.6178632412918756,
tools/data/autoricerca_journal.json:5194:    "gap_ratio": 2.618098369829487,
tools/data/autoricerca_journal.json:5215:    "gap_ratio": 2.618030967561331,
tools/data/autoricerca_journal.json:5236:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5257:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5278:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5299:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5320:    "gap_ratio": 2.618097939620826,
tools/data/autoricerca_journal.json:5341:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5362:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5383:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5404:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5426:    "gap_ratio": 2.6187017697654023,
tools/data/autoricerca_journal.json:5442:    "gap_ratio": 2.618124552609958,
tools/data/autoricerca_journal.json:5463:    "gap_ratio": 2.618106732014801,
tools/data/autoricerca_journal.json:5484:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5505:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5526:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5547:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5568:    "gap_ratio": 2.6181220716921128,
tools/data/autoricerca_journal.json:5589:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5610:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5631:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:5652:    "gap_ratio": 2.6181096604353296,
tools/data/autoricerca_journal.json:5674:    "gap_ratio": 2.618372247404123,
tools/data/autoricerca_journal.json:5690:    "gap_ratio": 2.6180590105086905,
tools/data/autoricerca_journal.json:5711:    "gap_ratio": 2.61811708633899,
tools/data/autoricerca_journal.json:5732:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5753:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5774:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5795:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5816:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5837:    "gap_ratio": 2.618048197588819,
tools/data/autoricerca_journal.json:5859:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5880:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5901:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:5923:    "gap_ratio": 2.618842158694524,
tools/data/autoricerca_journal.json:5939:    "gap_ratio": 2.6180171607183214,
tools/data/autoricerca_journal.json:5960:    "gap_ratio": 2.6179904120034383,
tools/data/autoricerca_journal.json:5981:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:6002:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6023:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6044:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:6065:    "gap_ratio": 2.6181071722590294,
tools/data/autoricerca_journal.json:6086:    "gap_ratio": 2.618006103582831,
tools/data/autoricerca_journal.json:6107:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6128:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6149:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:6171:    "gap_ratio": 2.6186283005037625,
tools/data/autoricerca_journal.json:6187:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6206:    "gap_ratio": 2.618126752052608,
tools/data/autoricerca_journal.json:6226:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6247:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6268:    "gap_ratio": 2.618073613479072,
tools/data/autoricerca_journal.json:6289:    "gap_ratio": 2.618002588381149,
tools/data/autoricerca_journal.json:6310:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6331:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6353:    "gap_ratio": 2.6180258659394964,
tools/data/autoricerca_journal.json:6374:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6396:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:6417:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6438:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6459:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6480:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6502:    "gap_ratio": 2.6182238059430727,
tools/data/autoricerca_journal.json:6518:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6537:    "gap_ratio": 2.6181262548318602,
tools/data/autoricerca_journal.json:6556:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6577:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6598:    "gap_ratio": 2.6180164536083605,
tools/data/autoricerca_journal.json:6619:    "gap_ratio": 2.6180162242219183,
tools/data/autoricerca_journal.json:6641:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6662:    "gap_ratio": 2.618088314890296,
tools/data/autoricerca_journal.json:6683:    "gap_ratio": 2.618073630306906,
tools/data/autoricerca_journal.json:6705:    "gap_ratio": 2.617997592711035,
tools/data/autoricerca_journal.json:6727:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:6749:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:6770:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6791:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6812:    "gap_ratio": 2.618262087187774,
tools/data/autoricerca_journal.json:6834:    "gap_ratio": 2.6181235155654927,
tools/data/autoricerca_journal.json:6851:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6868:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6887:    "gap_ratio": 2.6181366842992406,
tools/data/autoricerca_journal.json:6907:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6928:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6949:    "gap_ratio": 2.6180770613484006,
tools/data/autoricerca_journal.json:6970:    "gap_ratio": 2.6180360401072686,
tools/data/autoricerca_journal.json:6991:    "gap_ratio": 2.6179970643493897,
tools/data/autoricerca_journal.json:7012:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7033:    "gap_ratio": 2.6180487279547004,
tools/data/autoricerca_journal.json:7054:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:7076:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:7097:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7118:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:7139:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:7160:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7182:    "gap_ratio": 2.6181047637832466,
tools/data/autoricerca_journal.json:7198:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7217:    "gap_ratio": 2.618094304617962,
tools/data/autoricerca_journal.json:7237:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7258:    "gap_ratio": null,
tools/data/autoricerca_journal.json:7279:    "gap_ratio": 2.6180090619902714,
tools/data/autoricerca_journal.json:7300:    "gap_ratio": 2.6180286854829373,
tools/data/autoricerca_journal.json:7321:    "gap_ratio": 2.6179938106753506,
tools/data/autoricerca_journal.json:7342:    "gap_ratio": 2.618048637634805,
tools/data/autoricerca_journal.json:7363:    "gap_ratio": 2.6180450388855396,
tools/data/autoricerca_journal.json:7384:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:7406:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:7428:    "gap_ratio": 2.618091616494847,
tools/data/autoricerca_journal.json:7449:    "gap_ratio": 2.6180997341961563,
tools/data/autoricerca_journal.json:7470:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:7491:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:7513:    "gap_ratio": 2.6180244844750526,
tools/data/autoricerca_journal.json:7529:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7548:    "gap_ratio": 2.618077440990562,
tools/data/autoricerca_journal.json:7567:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7588:    "gap_ratio": null,
tools/data/autoricerca_journal.json:7609:    "gap_ratio": 2.618056200730588,
tools/data/autoricerca_journal.json:7630:    "gap_ratio": 2.618104232353077,
tools/data/autoricerca_journal.json:7651:    "gap_ratio": 2.618142939157056,
tools/data/autoricerca_journal.json:7672:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7693:    "gap_ratio": 2.6180578791207982,
tools/data/autoricerca_journal.json:7714:    "gap_ratio": 2.618054800318405,
tools/data/autoricerca_journal.json:7736:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:7758:    "gap_ratio": 2.618090459914461,
tools/data/autoricerca_journal.json:7779:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:7800:    "gap_ratio": 2.6180184167632463,
tools/data/autoricerca_journal.json:7821:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7843:    "gap_ratio": 2.6174636054156926,
tools/data/autoricerca_journal.json:7859:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7880:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7901:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7922:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:7943:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:7964:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7985:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8004:    "gap_ratio": 2.618010286589762,
tools/data/autoricerca_journal.json:8024:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8045:    "gap_ratio": 2.618023239179828,
tools/data/autoricerca_journal.json:8066:    "gap_ratio": 2.6180464135338513,
tools/data/autoricerca_journal.json:8087:    "gap_ratio": 2.6180754319958983,
tools/data/autoricerca_journal.json:8108:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8129:    "gap_ratio": 2.618068604218337,
tools/data/autoricerca_journal.json:8151:    "gap_ratio": 2.6181366784361613,
tools/data/autoricerca_journal.json:8173:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:8195:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:8216:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8237:    "gap_ratio": 2.6181821769902376,
tools/data/autoricerca_journal.json:8258:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8280:    "gap_ratio": 2.618536184760896,
tools/data/autoricerca_journal.json:8296:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8317:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:8338:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:8359:    "gap_ratio": 2.618048078952717,
tools/data/autoricerca_journal.json:8380:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:8401:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:8422:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8441:    "gap_ratio": 2.6181050264232635,
tools/data/autoricerca_journal.json:8461:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8482:    "gap_ratio": 2.618006469108761,
tools/data/autoricerca_journal.json:8503:    "gap_ratio": 2.6179964457228735,
tools/data/autoricerca_journal.json:8524:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8545:    "gap_ratio": 2.6180346642988765,
tools/data/autoricerca_journal.json:8566:    "gap_ratio": 2.6181109844048343,
tools/data/autoricerca_journal.json:8587:    "gap_ratio": 2.6179939741041274,
tools/data/autoricerca_journal.json:8609:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:8631:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8652:    "gap_ratio": 2.6180282164055084,
tools/data/autoricerca_journal.json:8673:    "gap_ratio": 2.6176321141875336,
tools/data/autoricerca_journal.json:8694:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:8756:    "gap_ratio": 2.618573013488808,
tools/data/autoricerca_journal.json:8772:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8795:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:8817:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8840:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8860:    "gap_ratio": 2.6181302754965707,
tools/data/autoricerca_journal.json:8881:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8903:    "gap_ratio": 2.6180055004075657,
tools/data/autoricerca_journal.json:8925:    "gap_ratio": 2.618092497253999,
tools/data/autoricerca_journal.json:8947:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8970:    "gap_ratio": 2.618039143923876,
tools/data/autoricerca_journal.json:8993:    "gap_ratio": 2.6181177081159226,
tools/data/autoricerca_journal.json:9015:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9037:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:9060:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9083:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:9105:    "gap_ratio": 2.618109501098722,
tools/data/autoricerca_journal.json:9127:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9151:    "gap_ratio": 2.6181482438135193,
tools/data/autoricerca_journal.json:9167:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9190:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:9212:    "gap_ratio": 2.618048078952717,
tools/data/autoricerca_journal.json:9235:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9255:    "gap_ratio": 2.6180792433196975,
tools/data/autoricerca_journal.json:9275:    "gap_ratio": null,
tools/data/autoricerca_journal.json:9297:    "gap_ratio": 2.6180138274034106,
tools/data/autoricerca_journal.json:9319:    "gap_ratio": 2.6180699387005557,
tools/data/autoricerca_journal.json:9341:    "gap_ratio": 2.6181395628148634,
tools/data/autoricerca_journal.json:9364:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9387:    "gap_ratio": 2.6180172532998265,
tools/data/autoricerca_journal.json:9409:    "gap_ratio": 2.6181931395063613,
tools/data/autoricerca_journal.json:9432:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:9454:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9477:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9500:    "gap_ratio": 2.6180459227467185,
tools/data/autoricerca_journal.json:9523:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9547:    "gap_ratio": 2.6187770683058202,
tools/data/autoricerca_journal.json:9563:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9586:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:9608:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9631:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9654:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9674:    "gap_ratio": 2.6180909371763894,
tools/data/autoricerca_journal.json:9694:    "gap_ratio": null,
tools/data/autoricerca_journal.json:9716:    "gap_ratio": 2.6180261059456393,
tools/data/autoricerca_journal.json:9738:    "gap_ratio": 2.6180701686428756,
tools/data/autoricerca_journal.json:9760:    "gap_ratio": 2.6180383523688215,
tools/data/autoricerca_journal.json:9783:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9806:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9828:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:9851:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:9874:    "gap_ratio": 2.618136747081554,
tools/data/autoricerca_journal.json:9896:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9919:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9942:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9966:    "gap_ratio": 2.6182339717972134,
tools/data/autoricerca_journal.json:9982:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10005:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10027:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10050:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10073:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10095:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10117:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10137:    "gap_ratio": 2.6180644520006027,
tools/data/autoricerca_journal.json:10158:    "gap_ratio": null,
tools/data/autoricerca_journal.json:10180:    "gap_ratio": 2.618129909029701,
tools/data/autoricerca_journal.json:10202:    "gap_ratio": 2.618132483489152,
tools/data/autoricerca_journal.json:10224:    "gap_ratio": 2.6180321900825416,
tools/data/autoricerca_journal.json:10247:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10270:    "gap_ratio": 2.6180487279547004,
tools/data/autoricerca_journal.json:10292:    "gap_ratio": 2.618136787462427,
tools/data/autoricerca_journal.json:10315:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:10337:    "gap_ratio": 2.618039293141563,
tools/data/autoricerca_journal.json:10360:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:10382:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10405:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10429:    "gap_ratio": 2.6175624399625548,
tools/data/autoricerca_journal.json:10445:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10468:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10490:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10513:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10535:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10557:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10579:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10599:    "gap_ratio": 2.6180991930234163,
tools/data/autoricerca_journal.json:10620:    "gap_ratio": null,
tools/data/autoricerca_journal.json:10642:    "gap_ratio": 2.6181562936014116,
tools/data/autoricerca_journal.json:10664:    "gap_ratio": 2.618087330113862,
tools/data/autoricerca_journal.json:10686:    "gap_ratio": 2.618089043572149,
tools/data/autoricerca_journal.json:10710:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10733:    "gap_ratio": 2.6180696627785154,
tools/data/autoricerca_journal.json:10755:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10778:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:10801:    "gap_ratio": 2.6180355340140844,
tools/data/autoricerca_journal.json:10823:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:10846:    "gap_ratio": 2.615064912313263,
tools/data/autoricerca_journal.json:10869:    "gap_ratio": 2.618132292897335,
tools/data/autoricerca_journal.json:10891:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10914:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10936:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10959:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:10982:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11004:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11026:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11046:    "gap_ratio": 2.618036955528402,
tools/data/autoricerca_journal.json:11067:    "gap_ratio": null,
tools/data/autoricerca_journal.json:11089:    "gap_ratio": 2.6179943409330786,
tools/data/autoricerca_journal.json:11111:    "gap_ratio": 2.6179903565663385,
tools/data/autoricerca_journal.json:11133:    "gap_ratio": 2.6180798307052227,
tools/data/autoricerca_journal.json:11156:    "gap_ratio": 2.617955824842139,
tools/data/autoricerca_journal.json:11179:    "gap_ratio": 2.6181558954444286,
tools/data/autoricerca_journal.json:11201:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11224:    "gap_ratio": 2.617986734841904,
tools/data/autoricerca_journal.json:11246:    "gap_ratio": 2.618126241356292,
tools/data/autoricerca_journal.json:11269:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:11292:    "gap_ratio": 2.618055668131687,
tools/data/autoricerca_journal.json:11314:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11337:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:11359:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11382:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:11404:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11427:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:11450:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11472:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11494:    "gap_ratio": 2.618123868051845,
tools/data/autoricerca_journal.json:11517:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11537:    "gap_ratio": 2.617998096411106,
tools/data/autoricerca_journal.json:11558:    "gap_ratio": null,
tools/data/autoricerca_journal.json:11580:    "gap_ratio": 2.6180812227670094,
tools/data/autoricerca_journal.json:11602:    "gap_ratio": 2.6181502633159104,
tools/data/autoricerca_journal.json:11624:    "gap_ratio": 2.6181120598885976,
tools/data/autoricerca_journal.json:11647:    "gap_ratio": 2.6178635659257625,
tools/data/autoricerca_journal.json:11671:    "gap_ratio": 2.6180847923495447,
tools/data/autoricerca_journal.json:11693:    "gap_ratio": 2.6180498365087095,
tools/data/autoricerca_journal.json:11716:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:11738:    "gap_ratio": 2.618012033163975,
tools/data/autoricerca_journal.json:11760:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:11782:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11805:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:11828:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11851:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:11873:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11896:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11919:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11942:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11962:    "gap_ratio": 2.618071806911586,
tools/data/autoricerca_journal.json:11983:    "gap_ratio": null,
tools/data/autoricerca_journal.json:12005:    "gap_ratio": 2.6180295268704663,
tools/data/meta_assertion_gate.json:31:      "test": "gap_ratio_phi2",
tools/data/lab_graph.json:1123:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare i",
tools/data/lab_graph.json:1214:      "content_full": "# Agent Report — Blank Shell Stratified Gate\n**Date**: 2026-05-07 23:10\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: blank_edge_is_GQ_count, any_deposit_on_blank_count, full_scale_law_count, shell_face_count - osservabili domain-native del denominatore blank-shell; nessun osservabile canonico SR/SR2/L1/L2/triple_var usato\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nIl limite K7/K8 del report 2203 era un limite strutturale della legge di scala, oppure un limite del metodo che enumerava pattern piu larghi del claim?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_stratified_gate.py`\n- Scope: catena `TQGE -> TQGE+R -> TQGE+R+S -> TQGE+R+S+U -> TQGE+R+S+U+V`.\n- Fonte verificata: `tools/data/reports/agent_20260507_2203.md` per il gap sampled K7/K8; `tools/exp_blank_shell_scale_law.py` per le condizioni osservate della legge.\n- Metrica: quattro osservabili domain-native del denominatore: lato blank fissato su QG, qualunque deposito sul guscio blank, legge completa del guscio, numero di facce del guscio.\n- Null baseline: conteggio exact count-preserving sul multiset dei modi di ogni perimetro. Il conteggio e stratificato sulle condizioni del claim, non sulle storie complete dei pattern shell.\n\n## Results\n| Perimetro | Facce shell | Assegnazioni null | Qualunque deposito sul blank | Legge completa exact |\n|---|---:|---:|---:|---:|\n| TQGE | 2 | 120 | 24/120 = 0.200000 | 2/120 = 0.016667 |\n| TQGE+R | 3 | 25,200 | 2,100/25,200 = 0.083333 | 6/25,200 = 0.000238 |\n| TQGE+R+S | 4 | 75,675,600 | 3,326,400/75,675,600 = 0.043956 | 120/75,675,600 = 0.00000159 |\n| TQGE+R+S+U | 5 | 4,106,460,758,400 | 108,064,756,800/4,106,460,758,400 = 0.026316 | 25,200/4,106,460,758,400 = 0.00000000614 |\n| TQGE+R+S+U+V | 6 | 4,862,213,796,375,936,000 | 83,114,765,750,016,000/4,862,213,796,375,936,000 = 0.017094 | 75,675,600/4,862,213,796,375,936,000 = 0.0000000000156 |\n\nFormula verificata:\n\n| Strato | Formula |\n|---|---|\n| Qualunque deposito sul blank | `C(n,2) * (n-2) * 2 * Multiset(rest after blank,gauge,real)` |\n| Legge completa | `2 * Multiset(rest after blank,2 wick,gauge,real,2 of each external mode)` |\n\n## Key Findings\n1. **Il limite K7/K8 era nel metodo, non nel gate.** Il report 2203 aveva `0/50,000 sampled`; il conteggio stratificato chiude K7 e K8 esattamente con `25,200` e `75,675,600` occorrenze della legge completa.\n2. **La legge `shell_faces(QG)=2+n_esterni` resta esatta nel perimetro controllato.** Le facce osservate sono TQG inerte, QGE depositante, poi QGR/QGS/QGU/QGV come facce esterne tipizzate.\n3. **Il denominatore non e la rarita universale.** Il deposito generico sul blank resta presente nel null e decresce da 0.200000 a 0.017094. La parte informativa e il full gate localizzato: QG blank, TQG inerte, QGE deposito, due edge identici per ogni esterno tipizzato.\n4. **Il nodo regressivo e la stratificazione.** Enumerare i pattern shell completi aggiungeva stati non necessari; contare le condizioni atomiche del claim chiude il denominatore senza cambiare il claim.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_SCALE_LAW_GATE**: nel perimetro operator-taxonomy controllato `TQGE+R+S+U+V`, la legge di scala del guscio blank ha denominatore exact count-preserving fino a V. Il claim valido e: `shell_faces(QG)=2+n_esterni` con deposito invariato `QGE`, dove ogni esterno e tipizzato e porta due edge identici nella faccia QGx. Il limite sampled del ciclo 2203 e falsificato come limite del metodo, non come limite della struttura.\n\n## Bicono della scoperta\n- **Due radici**: denominatore pattern-completo · denominatore stratificato sulle condizioni del claim.\n- **Singolare**: il guscio blank QG come supporto che cresce senza migrazione del deposito.\n- **Invariante di passaggio**: QGE resta la faccia depositante mentre ogni esterno tipizzato aggiunge una faccia QGx.\n- **Campo di possibilita**: qui diventa possibile usare il gate fino a V con null exact; qui diventa non-possibile bloccare la legge a S per limite computazionale del vecchio enumeratore.\n\n## Self-Falsifier Lenses\n- **L1**: il perimetro e atomico: `TQGE+R+S+U+V` con esterni tipizzati e count-preserving null.\n- **L2**: i conteggi K7/K8 non vengono confrontati con sampled; sostituiscono il sampled.\n- **L3**: la riparazione vive nel nodo regressivo del denominatore, non nel risultato del report 2203.\n- **L4**: il contro-polo resta aperto per esterni non tipizzati, multi-modo o deposito duplicato.\n- **L5**: classificazione interna del catalogo D-ND; nessuna discovery fisica nuova.\n\n## Files\n- `tools/exp_blank_shell_stratified_gate.py`\n- `tools/data/blank_shell_stratified_gate_20260507_2310.json`\n- `tools/data/reports/agent_20260507_2310.md`\n",
tools/data/lab_graph.json:1220:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1258:      "content_preview": "# Agent Report — Blank Shell Scale Law\n**Date**: 2026-05-07 22:03\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S+U+V, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale ",
tools/data/lab_graph.json:1259:      "content_full": "# Agent Report — Blank Shell Scale Law\n**Date**: 2026-05-07 22:03\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S+U+V, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nLa dilatazione del guscio blank e una legge di scala del perimetro, oppure R e S erano casi locali che non trasferiscono quando entrano altri vertici esterni tipizzati?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_scale_law.py`\n- Scope: catena completa `TQGE -> TQGE+R -> TQGE+R+S -> TQGE+R+S+U -> TQGE+R+S+U+V`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1957.md`, `tools/data/reports/agent_20260507_2120.md`, `tools/data/reports/agent_20260507_2157.md`.\n- Inferenze dichiarate: U e V sono vertici esterni controllati, usati solo per testare la legge dopo R e S; ogni esterno porta un modo operatorio su tutti i lati verso il perimetro precedente.\n- Metrica: facce incidenti al lato `blank`; deposito `blank + gauge_phase + real_sourcing`; faccia inerte `blank + wick_time + wick_time`; facce esterne come coppie tipizzate.\n- Null baseline: conteggio exact count-preserving fino a K6; audit sampled count-preserving da 50,000 permutazioni per K7 e K8. Il campione K7/K8 e controllo di attrito, non prova di rarita.\n\n## Results\n| Perimetro | Facce shell | Deposito | Facce esterne osservate | Null law count |\n|---|---:|---|---|---:|\n| TQGE | 2 | QGE | [] | 2/120 = 0.016667 exact |\n| TQGE+R | 3 | QGE | QGR: frame_pair | 6/25,200 = 0.000238 exact |\n| TQGE+R+S | 4 | QGE | QGR: frame_pair; QGS: scale_pair | 120/75,675,600 = 0.00000159 exact |\n| TQGE+R+S+U | 5 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair | 0/50,000 sampled |\n| TQGE+R+S+U+V | 6 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair; QGV: observer_pair | 0/50,000 sampled |\n\nAudit deposito sul blank nel null:\n\n| Perimetro | Null mode | Qualunque deposito sul blank |\n|---|---|---:|\n| TQGE | exact | 0.200000 |\n| TQGE+R | exact | 0.083333 |\n| TQGE+R+S | exact | 0.043956 |\n| TQGE+R+S+U | sampled | 0.026440 |\n| TQGE+R+S+U+V | sampled | 0.017740 |\n\n## Key Findings\n1. **Il deposito resta QGE lungo la catena osservata.** Nei perimetri TQGE, TQGE+R, TQGE+R+S, TQGE+R+S+U e TQGE+R+S+U+V, la faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **La legge osservata e `facce shell = 2 + n_esterni`.** Il guscio blank ha 2 facce in TQGE, 3 con R, 4 con S, 5 con U, 6 con V. Ogni esterno controllato aggiunge una faccia `QGx` del proprio tipo e non sostituisce il deposito.\n3. **Il denominatore esatto si chiude fino a S.** La legge completa compare nel null esatto con conteggio decrescente da 2/120 a 120/75,675,600. Per U e V il cycle produce audit campionario con zero hit su 50,000, non conteggio esatto.\n4. **Il nodo regressivo non e la rarita.** La parte strutturale e la non-migrazione del deposito insieme alla crescita del guscio; i conteggi null impediscono tautologia, ma non diventano claim universale.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_DILATION_GATE**: nel perimetro operator-taxonomy controllato `TQGE + esterni tipizzati`, la legge di scala osservata del guscio blank e `shell_faces(QG) = 2 + n_esterni`, con deposito invariato `QGE`. Il denominatore exact count-preserving e verificato fino a `TQGE+R+S`; oltre S il risultato resta trasferimento osservato con audit sampled, non chiusura combinatoria.\n\n## Bicono della scoperta\n- **Due radici**: deposito QGE invariato · estensione tipizzata QGx.\n- **Singolare**: QG come lato blank che riceve facce esterne senza diventare ponte generico.\n- **Invariante di passaggio**: `blank + gauge_phase + real_sourcing` resta la sola forma depositante osservata nella catena.\n- **Campo di possibilita**: qui diventa possibile trattare la dilatazione come legge di perimetro controllata; qui diventa non-possibile usare K7/K8 per un claim di rarita senza conteggio esatto o campionamento stratificato piu forte.\n\n## Self-Falsifier Lenses\n- **L1**: il claim dichiara perimetro e tipo di null; K7/K8 sono audit sampled, non exact.\n- **L2**: i conteggi exact non sono confrontati con i sampled come stesso denominatore.\n- **L3**: il limite computazionale non viene mascherato; entra nel verdict.\n- **L4**: il contro-polo resta aperto: un esterno non tipizzato o multi-modo puo far migrare o duplicare il deposito.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non discovery fisica nuova.\n\n## Files\n- `tools/exp_blank_shell_scale_law.py`\n- `tools/data/blank_shell_scale_law_20260507_2203.json`\n- `tools/data/reports/agent_20260507_2203.md`\n",
tools/data/lab_graph.json:1265:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1303:      "content_preview": "# Agent Report — Blank Shell Dilation Gate\n**Date**: 2026-05-07 21:57\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale ",
tools/data/lab_graph.json:1304:      "content_full": "# Agent Report — Blank Shell Dilation Gate\n**Date**: 2026-05-07 21:57\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE+R+S operator-taxonomy, un secondo vertice esterno sposta il deposito QGE oppure dilata ancora il guscio blank nato su QG?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_dilation_gate.py`\n- Scope: grafo completo K6 su T,Q,G,E,R,S. Il perimetro conserva i modi `3 wick_time + 4 frame_link + 5 scale_link + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_2120.md`, `tools/build_lab_graph.py`.\n- Inferenza dichiarata: S entra come `scale_link`, perche il perimetro TQGE+R+S e presente nel grafo lab e S viene usato qui solo come portatore controllato di scala.\n- Metrica: facce incidenti al lato `blank`; classi `inert_wick_pair`, `deposit_gauge_real`, `frame_pair`, `scale_pair`, e classi miste.\n- Null baseline: 75,675,600 assegnazioni count-preserving dei quindici modi sui quindici lati K6, contate esattamente con pesi combinatori sul guscio.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | 5,045,040/75,675,600 = 0.0667 |\n| Qualunque faccia deposito sul blank | si | 3,326,400/75,675,600 = 0.0440 |\n| Guscio `deposit + inert + frame + scale` | si | 43,200/75,675,600 = 0.000571 |\n| Assetto osservato `QG` blank, `QGE` deposito, `TQG` inerte, `QGR` frame, `QGS` scala | si | 120/75,675,600 = 0.00000159 |\n| Nessuna faccia deposito sul blank | no | 72,349,200/75,675,600 = 0.9560 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n| QGR | frame_link + frame_link | frame_pair |\n| QGS | scale_link + scale_link | scale_pair |\n\nPattern rilevanti del null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + frame_pair + inert_wick_pair + scale_pair | 43,200/75,675,600 |\n| deposit_gauge_real + frame_pair + frame_pair + scale_pair | 7,200/75,675,600 |\n| deposit_gauge_real + frame_pair + frame_scale + scale_pair | 86,400/75,675,600 |\n| frame_scale + frame_wick + scale_pair + scale_wick | 1,036,800/75,675,600 |\n\n## Key Findings\n1. **Il deposito non migra quando entra S.** Nel perimetro TQGE+R+S, la faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **Il guscio blank dilata di una faccia.** TQGE aveva due facce incidenti al blank; TQGE+R ne aveva tre; TQGE+R+S ne ha quattro. La nuova faccia e `QGS = blank + scale_link + scale_link`.\n3. **Il gate e scala-del-guscio, non rarita universale.** Il pattern completo osservato compare in 120/75,675,600 null. Questo conteggio controlla il denominatore; il claim valido e che il deposito resta localizzato mentre il blank acquisisce una faccia per ogni vertice esterno tipizzato.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_TQGER_GATE**: nel perimetro TQGE+R+S operator-taxonomy, il denominatore regressivo del deposito resta QGE. La dilatazione esterna non trasforma frame o scala in deposito; aggiunge una faccia non-depositante al guscio blank. Il blank QG e quadrifacciale: TQG inerte, QGE depositante, QGR frame, QGS scala.\n\n## Bicono della scoperta\n- **Due radici**: deposito invariato QGE · dilatazione esterna QGR/QGS\n- **Singolare**: QG come lato blank che riceve le estensioni del perimetro senza diventare ponte generico.\n- **Invariante di passaggio**: il deposito richiede `blank + gauge_phase + real_sourcing`; frame e scala non sostituiscono gauge o source.\n- **Campo di possibilita**: qui diventa possibile formulare una legge di scala del guscio blank: ogni vertice esterno tipizzato aggiunge una faccia al blank senza muovere QGE; qui diventa non-possibile trattare R come caso speciale sufficiente della dilatazione.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"sempre\", \"mai\", \"zero\" o \"unico\" fuori perimetro. \"Resta QGE\" vale per il catalogo osservato TQGE+R+S.\n- **L2**: i confronti usano conteggi grezzi nello stesso spazio di 75,675,600 assegnazioni, non percentuali fra spazi diversi.\n- **L3**: il claim TQGE+R non viene salvato cambiando definizione. Il nuovo perimetro aggiunge S e dichiara l'inferenza `scale_link`.\n- **L4**: gli edge case sono espliciti: 72,349,200/75,675,600 assegnazioni non hanno faccia deposito sul blank.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non scoperta fisica nuova su scala, relativita o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_dilation_gate.py`\n- `tools/data/blank_shell_dilation_gate_20260507_2157.json`\n- `tools/data/reports/agent_20260507_2157.md`\n",
tools/data/lab_graph.json:1310:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1348:      "content_preview": "# Agent Report — Blank Shell TQGER Gate\n**Date**: 2026-05-07 21:20\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che l",
tools/data/lab_graph.json:1349:      "content_full": "# Agent Report — Blank Shell TQGER Gate\n**Date**: 2026-05-07 21:20\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE+R operator-taxonomy, la polarita del guscio blank TQG/QGE sopravvive quando entra R, oppure R sposta il denominatore regressivo del deposito?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_tqger_gate.py`\n- Scope: grafo completo K5 su T,Q,G,E,R. Il perimetro conserva i modi `3 wick_time + 4 frame_link + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_incrocio.py`, `tools/data/reports/agent_20260507_1957.md`.\n- Inferenza dichiarata: i lati incidenti a R sono `frame_link`, perche R e il frame connesso a tutti ma senza perno i.\n- Metrica: facce incidenti al lato `blank`; classi `inert_wick_pair`, `deposit_gauge_real`, `frame_pair`, e classi miste.\n- Null baseline: 25,200 permutazioni count-preserving dei dieci modi sui dieci lati K5.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | 2,520/25,200 = 0.1000 |\n| Guscio `deposit + inert + frame` | si | 360/25,200 = 0.0143 |\n| Assetto osservato `QG` blank, `QGE` deposito, `TQG` inerte, `QGR` frame | si | 6/25,200 = 0.000238 |\n| Faccia deposito specifica `QGE` | si | 210/25,200 = 0.00833 |\n| Nessuna faccia deposito sul blank | no | 23,100/25,200 = 0.9167 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n| QGR | frame_link + frame_link | frame_pair |\n\nPattern piu rilevanti del null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + frame_pair + inert_wick_pair | 360/25,200 |\n| deposit_gauge_real + frame_pair + frame_wick | 720/25,200 |\n| frame_wick + frame_wick + frame_wick | 480/25,200 |\n| frame_pair + frame_wick + source_without_gauge | 1,440/25,200 |\n| frame_gauge + frame_wick + source_without_gauge | 1,440/25,200 |\n\n## Key Findings\n1. **R non sposta il deposito QGE nel perimetro TQGE+R.** La faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **R rompe il framing binario del guscio blank.** Nel tetraedro TQGE il blank apre due facce; in K5 apre tre facce. La nuova faccia e `QGR = blank + frame_link + frame_link`.\n3. **Il claim valido e dilatazione di guscio, non rarita universale.** Il pattern `deposit + inert + frame` compare in 360/25,200 null. L'assetto completo osservato compare in 6/25,200, ma il numero serve come controllo anti-tautologico, non come discovery fisica.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_POLARITY_GATE**: nel perimetro TQGE+R operator-taxonomy, la polarita TQG/QGE sopravvive ma non resta completa. R aggiunge una terza faccia `QGR` al guscio blank. Il denominatore regressivo del deposito resta QGE; il denominatore regressivo del blank diventa tri-facciale: TQG inerte, QGE depositante, QGR frame.\n\n## Bicono della scoperta\n- **Due radici**: polarita TQG/QGE del tetraedro TQGE · dilatazione QGR quando entra R\n- **Singolare**: QG come lato blank che non decide il deposito da solo; nel perimetro esteso diventa bordo comune di inerzia, deposito e frame.\n- **Invariante di passaggio**: il deposito richiede `blank + gauge_phase + real_sourcing`; R non sostituisce gauge o source.\n- **Campo di possibilita**: qui diventa possibile testare se ogni nuovo vertice esterno aggiunge una faccia di shell senza muovere il deposito; qui diventa non-possibile formulare il guscio blank come oggetto binario oltre TQGE.\n\n## Self-Falsifier Lenses\n- **L1**: non uso \"sempre\", \"mai\", \"zero\" o \"unico\" fuori perimetro. Il null contiene pattern alternativi e molti casi senza deposito.\n- **L2**: i confronti sono conteggi grezzi nello stesso spazio di 25,200 assegnazioni, non percentuali fra spazi diversi.\n- **L3**: il claim precedente non viene salvato con definizione cambiata. Il gate TQGE resta valido nel suo perimetro; TQGE+R lo estende a shell tri-facciale.\n- **L4**: gli edge case sono espliciti: 23,100/25,200 assegnazioni non hanno faccia deposito sul blank.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non scoperta fisica nuova su relativita, gauge o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_tqger_gate.py`\n- `tools/data/blank_shell_tqger_gate_20260507_2120.json`\n- `tools/data/reports/agent_20260507_2120.md`\n",
tools/data/lab_graph.json:1355:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1444:      "content_preview": "# Agent Report — Blank Shell Polarity Gate\n**Date**: 2026-05-07 19:57\n**Piano**: 83\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che ",
tools/data/lab_graph.json:1445:      "content_full": "# Agent Report — Blank Shell Polarity Gate\n**Date**: 2026-05-07 19:57\n**Piano**: 83\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE operator-taxonomy, il denominatore QGE e solo faccia triadica isolata, o il blank QG ha un guscio polarizzato: una faccia inerte `blank + wick_time + wick_time` e una faccia di deposito `blank + gauge_phase + real_sourcing`?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_polarity_gate.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1938.md`, `tools/data/triadic_deposit_gate_20260507_1938.json`.\n- Metrica: le due facce incidenti al lato `blank`; classificazione del lato non-blank di ciascuna faccia in `inert_wick_pair`, `deposit_gauge_real`, `source_without_gauge`, `gauge_without_source`.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | p(blank edge = GQ)=0.1667 |\n| Guscio blank polarizzato `deposit_gauge_real + inert_wick_pair` | si | 24/120 = 0.2000 |\n| Assetto osservato `QGE` deposito + `TQG` inerte | si | 2/120 = 0.0167 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n\nPattern nel null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + inert_wick_pair | 24/120 |\n| gauge_without_source + inert_wick_pair | 24/120 |\n| inert_wick_pair + source_without_gauge | 24/120 |\n| gauge_without_source + source_without_gauge | 48/120 |\n\n## Key Findings\n1. **Il blank QG ha un guscio polarizzato nel catalogo TQGE osservato.** Le due facce incidenti al blank non sono equivalenti: TQG e lato inerte `blank + wick_time + wick_time`; QGE e lato di deposito `blank + gauge_phase + real_sourcing`.\n2. **La polarizzazione del guscio non e rara come forma astratta.** Nel null count-preserving, il pattern `deposit_gauge_real + inert_wick_pair` appare in 24/120 assegnazioni. Il claim valido non e rarita universale della polarizzazione.\n3. **La localizzazione QG/QGE/TQG e piu stretta della sola polarizzazione.** L'assetto osservato in cui il blank e GQ, la faccia deposito e QGE, e la faccia inerte e TQG appare in 2/120 assegnazioni. Il denominatore non vive nel lato QG isolato: vive nella polarita delle due facce che quel lato apre.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_TRIADIC_DEPOSIT_GATE**: nel perimetro TQGE operator-taxonomy, il deposito Q->G va formulato come polarita del guscio blank. QG non e ponte generico; e lato comune tra TQG inerte e QGE depositante. Il gate triadico QGE resta il lato attivo del deposito, ma il nodo regressivo e il guscio a due facce del blank, non la faccia QGE isolata.\n\n## Bicono della scoperta\n- **Due radici**: TQG inerte `blank + wick_time + wick_time` · QGE depositante `blank + gauge_phase + real_sourcing`\n- **Singolare**: QG come lato comune dove il blank non decide da solo; apre due facce e la loro differenza determina il passaggio.\n- **Invariante di passaggio**: il deposito richiede il blank condiviso con una faccia gauge-source mentre l'altra faccia resta wick-wick.\n- **Campo di possibilita**: qui diventa possibile misurare G come polarita locale di guscio nei perimetri TQGE+R; qui diventa non-possibile trattare QGE come denominatore completo senza dichiarare la faccia inerte TQG che lo polarizza.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"zero\", \"sempre\" o \"impossibile\" fuori perimetro. Il null mostra polarizzazioni alternative e pattern non polarizzati.\n- **L2**: confronto espresso in conteggi grezzi e probabilita sullo stesso spazio di 120 assegnazioni.\n- **L3**: il claim precedente non viene salvato cambiando definizione; viene ristretto al nodo regressivo del guscio blank.\n- **L4**: i contro-pattern del null sono espliciti: `gauge_without_source + source_without_gauge` domina con 48/120.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gauge, sorgente o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_polarity_gate.py`\n- `tools/data/blank_shell_polarity_gate_20260507_1957.json`\n- `tools/data/reports/agent_20260507_1957.md`\n",
tools/data/lab_graph.json:1451:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1489:      "content_preview": "# Agent Report — Triadic Deposit Gate\n**Date**: 2026-05-07 19:38\n**Piano**: 80\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le re",
tools/data/lab_graph.json:1490:      "content_full": "# Agent Report — Triadic Deposit Gate\n**Date**: 2026-05-07 19:38\n**Piano**: 80\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE operator-taxonomy, il deposito Q->G richiede solo contatto `blank + real_sourcing`, o richiede la faccia completa `blank + gauge_phase + real_sourcing`?\n\n## Experiment Design\n- Strumento: `tools/exp_triadic_deposit_gate.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1804.md`, `tools/evolution_report.md`.\n- Metrica: facce triadiche con `blank + gauge_phase + real_sourcing`; facce binarie con `blank + real_sourcing`; facce contro-perimetro `blank` senza sorgente, sorgente senza `blank`, gauge senza deposito.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Faccia triadica `blank + gauge_phase + real_sourcing` | QGE | p(any)=0.2000; p(QGE)=0.0500 |\n| Faccia binaria `blank + real_sourcing` | QGE | p(any)=0.8000; p(QGE)=0.2000 |\n| Faccia con blank senza sorgente | TQG | - |\n| Faccia con sorgente senza blank | TGE | - |\n| Faccia con gauge senza deposito | TQE | - |\n\nFacce osservate:\n\n| Faccia | Modi | Stato |\n|---|---|---|\n| QGE | blank + gauge_phase + real_sourcing | deposito triadico |\n| TQG | blank + wick_time + wick_time | blank senza sorgente |\n| TGE | real_sourcing + wick_time + wick_time | sorgente senza blank |\n| TQE | gauge_phase + wick_time + wick_time | gauge senza deposito |\n\nPattern nel null:\n\n| Pattern | Conteggio |\n|---|---:|\n| triadic face QGE | 6/120 |\n| triadic face TQG | 6/120 |\n| triadic face TQE | 6/120 |\n| triadic face TGE | 6/120 |\n| no triadic face | 96/120 |\n| binary blank-source on any face | 96/120 |\n| no binary blank-source face | 24/120 |\n\n## Key Findings\n1. **Il deposito QGE ha denominatore triadico.** Nel catalogo TQGE osservato, la faccia viva non contiene solo `blank + real_sourcing`: contiene anche `gauge_phase`. Il denominatore misurato e `blank + gauge_phase + real_sourcing`.\n2. **Il contatto binario e debole come gate.** Nel null count-preserving, una faccia `blank + real_sourcing` appare in 0.8000 delle assegnazioni; la faccia triadica appare in 0.2000. Il passaggio utile non e l'adiacenza, ma la chiusura del terzo lato.\n3. **Le tre facce escluse separano i ruoli.** TQG porta il blank senza sorgente; TGE porta la sorgente senza blank; TQE porta gauge senza deposito. QGE e il solo punto del catalogo osservato dove i tre ruoli sono nella stessa faccia.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_TO_SOURCE_FACE_GATE**: nel perimetro TQGE operator-taxonomy, l'operatore di deposito Q->G va formulato come gate triadico di faccia. Il ponte QG isolato non basta; il contatto `blank + real_sourcing` non basta; il deposito osservato e QGE come `blank + gauge_phase + real_sourcing`. Il claim non e rarita universale: e localizzazione del denominatore nel catalogo TQGE osservato.\n\n## Bicono della scoperta\n- **Due radici**: contatto binario `blank + real_sourcing` · chiusura triadica `blank + gauge_phase + real_sourcing`\n- **Singolare**: QGE come faccia in cui il vuoto QG diventa depositabile perche passa attraverso gauge e sorgente.\n- **Invariante di passaggio**: il blank puo contaminare una faccia senza deposito; il deposito passa solo quando blank, gauge e source coabitano la stessa faccia.\n- **Campo di possibilita**: qui diventa possibile cercare gate di deposito come unita di faccia nei perimetri TQGE+R; qui diventa non-possibile usare l'adiacenza blank-source come denominatore sufficiente.\n\n## Self-Falsifier Lenses\n- **L1**: nessun assoluto fuori perimetro. \"Solo\" e usato per il catalogo osservato TQGE; il null mostra altre facce triadiche possibili per permutazione.\n- **L2**: confronto espresso in conteggi e probabilita sullo stesso spazio di 120 assegnazioni.\n- **L3**: il claim precedente viene ristretto al nodo regressivo corretto: denominatore di faccia, non ponte QG e non vertice G globale.\n- **L4**: TQG, TGE e TQE sono contro-perimetri espliciti ai singoli componenti del gate.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gravita, gauge o sorgenti reali.\n\n## Files\n- `tools/exp_triadic_deposit_gate.py`\n- `tools/data/triadic_deposit_gate_20260507_1938.json`\n- `tools/data/reports/agent_20260507_1938.md`\n",
tools/data/lab_graph.json:1496:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1534:      "content_preview": "# Agent Report — Blank To Source Hinge\n**Date**: 2026-05-07 18:04\n**Piano**: 79\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le r",
tools/data/lab_graph.json:1535:      "content_full": "# Agent Report — Blank To Source Hinge\n**Date**: 2026-05-07 18:04\n**Piano**: 79\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nSe QG e blank e GE e real_sourcing, l'operatore di deposito Q->G e un ponte QG generico o una faccia specifica del tetraedro?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_to_source_hinge.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/lab_riflessi.json`, `tools/data/reports/agent_20260507_1751.md`.\n- Metrica: lato blank; lato real_sourcing; endpoint del blank con sorgente; passaggio diretto endpoint-senza-sorgente -> endpoint-con-sorgente; facce con `blank + real_sourcing`; facce blank escluse.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Blank edge | GQ | p(GQ)=0.1667 |\n| Real sourcing edge | EG | p(EG)=0.1667 |\n| Blank adiacente al real_sourcing | true | p=0.8000 |\n| Passaggio diretto blank-endpoint senza sorgente -> con sorgente | Q->G | p(any)=0.8000; p(Q->G)=0.0667 |\n| Pattern esatto QG blank + GE real_sourcing + Q->G | true | p=0.0333 |\n| Faccia di deposito | QGE | 24/120 per ogni faccia; 24/120 none |\n| Faccia blank esclusa | TQG | - |\n\nEndpoint del blank:\n\n| Endpoint | Lati nonblank incidenti | Modi incidenti | Ruolo |\n|---|---|---|---|\n| Q | EQ, QT | gauge_phase, wick_time | non-source |\n| G | EG, GT | real_sourcing, wick_time | source |\n\nFacce:\n\n| Faccia | Modi | Stato |\n|---|---|---|\n| QGE | blank + gauge_phase + real_sourcing | deposito |\n| TQG | blank + wick_time + wick_time | vuoto senza sorgente |\n| TGE | real_sourcing + wick_time + wick_time | sorgente senza blank |\n| TQE | gauge_phase + wick_time + wick_time | ponte senza blank/source |\n\n## Key Findings\n1. **Q->G e orientabile solo come passaggio locale del lato blank.** Nel perimetro TQGE, Q e l'endpoint senza real_sourcing del blank; G e l'endpoint con real_sourcing. Il passaggio misurato e Q->G.\n2. **L'orientabilita blank-to-source non e rara nel null.** Un lato blank adiacente a un lato real_sourcing appare in 0.8000 delle assegnazioni count-preserving. Quindi il claim forte non e \"blank-to-source esiste\"; il claim valido e \"nel catalogo TQGE osservato, il blank-to-source cade su Q->G\".\n3. **Il deposito vive nella faccia QGE, non nel ponte QG.** QGE contiene `blank + gauge_phase + real_sourcing`; TQG contiene lo stesso blank ma nessuna sorgente. Il vuoto QG non basta: serve il terzo vertice E come sorgente reale agganciata a G.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_UNDERLAY_HINGE_GATE**: nel perimetro TQGE operator-taxonomy, l'operatore di deposito Q->G non e un ponte QG generico. E una faccia triadica QGE: QG fornisce il blank, GE fornisce il sourcing reale, QE fornisce il lato gauge_phase. La faccia TQG e il contro-perimetro nativo: contiene QG blank ma resta senza deposito.\n\n## Bicono della scoperta\n- **Due radici**: QG blank senza sorgente · GE real_sourcing agganciato a G\n- **Singolare**: la faccia QGE, dove vuoto quantistico-gravitazionale, fase gauge e sorgente reale stanno nello stesso triangolo.\n- **Invariante di passaggio**: il blank contamina due facce, ma il deposito passa solo nella faccia che contiene real_sourcing.\n- **Campo di possibilita**: qui diventa possibile testare Q->G come operatore triadico `blank + gauge + source`; qui diventa non-possibile cercare un ponte QG isolato senza il terzo vertice.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"zero/sempre\" fuori perimetro. \"Senza deposito\" su TQG significa assenza esatta di `real_sourcing` in quella faccia nel catalogo osservato.\n- **L2**: il risultato riporta conteggi/probabilita del null; l'orientabilita generica p=0.8000 non viene trasformata in rarita.\n- **L3**: il claim precedente non viene salvato come underlay globale. Il nodo regressivo e il denominatore relazionale: faccia QGE, non vertice G.\n- **L4**: TQG e dichiarata come contro-perimetro della propagazione del blank.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gravita quantistica.\n\n## Files\n- `tools/exp_blank_to_source_hinge.py`\n- `tools/data/blank_to_source_hinge_20260507_1804.json`\n- `tools/data/reports/agent_20260507_1804.md`\n",
tools/data/lab_graph.json:1541:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1579:      "content_preview": "# Agent Report — TQGE Underlay Gate\n**Date**: 2026-05-07 17:51\n**Piano**: 78\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] — tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rend",
tools/data/lab_graph.json:1580:      "content_full": "# Agent Report — TQGE Underlay Gate\n**Date**: 2026-05-07 17:51\n**Piano**: 78\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] — tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel tetraedro TQGE, G ha una firma operativa distinta dai vertici ordinari quando i sei lati sono classificati per tipo di operatore: Wick-tempo, fase-gauge, sourcing reale, blank?\n\n## Experiment Design\n- Strumento: `tools/exp_tqge_underlay_gate.py`\n- Scope: sei lati TQGE depositati nel contesto Lab.\n- Fonte verificata: `tools/LAB_AGENT_CONTEXT.md` per lati e vuoto QxG; `tools/data/lab_riflessi.json` per tassonomia operatori 3 Wick + 1 fase + 1 reale + 1 vuoto.\n- Metrica: profilo dei modi incidenti per vertice; entropia dei modi; presenza congiunta `blank + real_sourcing`; triangoli contaminati dal lato blank.\n- Null baseline: 120 assegnazioni che preservano i conteggi dei sei modi sui sei lati.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Vertici a massima entropia di modo | Q, G, E | pattern distribuiti su tutti i vertici |\n| G unico massimo entropico | false | — |\n| Vertici con `blank + real_sourcing` | G | p(G)=0.200 |\n| Qualunque vertice con `blank + real_sourcing` | true | p=0.800 |\n| Triangoli vuoti | TQG, QGE | — |\n| Tutti i triangoli vuoti includono G | true | p=0.500 |\n| Blank sul lato QG | true | p=0.1667 |\n\nProfili incidenti:\n\n| Vertice | Modi incidenti | Entropia bits | blank | real_sourcing |\n|---|---|---:|---:|---:|\n| T | wick_time x3 | 0.000000 | false | false |\n| Q | blank, gauge_phase, wick_time | 1.584963 | true | false |\n| G | blank, real_sourcing, wick_time | 1.584963 | true | true |\n| E | gauge_phase, real_sourcing, wick_time | 1.584963 | false | true |\n\n## Key Findings\n1. **G non e il vertice unico della diversita operatoria.** Q, G ed E hanno tutti tre modi incidenti distinti. Il claim \"G sotto tutto\" non passa come centralita entropica locale.\n2. **G e il solo hinge `blank + real_sourcing` nel perimetro TQGE.** Il vuoto QG e il sourcing reale GE si incontrano solo in G. Questo dato e verificato nel catalogo dei lati; il null mostra che la congiunzione non e rara in astratto, quindi il contenuto non e \"unicita statistica\", ma localizzazione del nodo regressivo.\n3. **Il vuoto propaga per facce, non per tutto il tetraedro.** I triangoli TQG e QGE sono vuoti perche contengono QG; TGE e TQE restano pieni. G non rende possibili tutti i ponti: porta il punto dove il vuoto QG tocca il sourcing reale GE.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA**: nel perimetro TQGE operator-taxonomy, G non va formulato come vertice globale \"sotto tutto\". G e il hinge locale tra QG blank e GE real_sourcing. La consecutio non e cercare un ponte QG generico; e misurare l'operatore di deposito che trasforma un blank quantistico-gravitazionale in sourcing reale.\n\n## Bicono della scoperta\n- **Due radici**: QG blank · GE real_sourcing\n- **Singolare**: G come punto in cui assenza di operatore e sorgente reale condividono lo stesso vertice.\n- **Invariante di passaggio**: la contaminazione del vuoto passa alle facce che contengono QG; non passa alle facce senza QG.\n- **Campo di possibilita**: qui diventa possibile cercare l'operatore di deposito Q->G come passaggio blank-to-source; qui diventa non-possibile trattare G come prova globale di underlay su tutti i lati TQGE.\n\n## Self-Falsifier Lenses\n- **L1**: nessun assoluto \"sempre/mai\" fuori perimetro; \"solo\" e usato per il dato esatto `blank + real_sourcing` nel catalogo osservato.\n- **L2**: confronto riportato in conteggi e probabilita null, non in percentuali fra spazi diversi.\n- **L3**: il claim originale non viene salvato; viene ristretto al nodo regressivo G come hinge locale.\n- **L4**: TGE e TQE sono contro-perimetro esplicito alla propagazione totale del vuoto.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non discovery fisica nuova.\n\n## Files\n- `tools/exp_tqge_underlay_gate.py`\n- `tools/data/tqge_underlay_gate_20260507_1751.json`\n- `tools/data/reports/agent_20260507_1751.md`\n",
tools/data/lab_graph.json:1586:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1838:      "content_full": "# Agent Report - Denominator Gate Transfers, Boundary Coordinate Does Not\n**Date**: 2026-05-07 08:03  \n**Piano**: 69  \n**Category**: gate_transferability  \n**Tension explored**: META + DUALITA_DIPOLARE_VS_ILLUSORIA  \n**verdict**: operator  \nobservables_registry: 1.0.0-2026-05-06  \nobservables_used: [SR, SR2, L1, L2, triple_var]\n\n## Claim Under Test\nThe operator directive asked whether the `BOUNDARY_LAYER_GATE` forged on the\nGUE/Poisson boundary is a transferable operator or only a local metric.\n\nConcrete test:\n\n> Apply the denominator-collapse gate to the discrimination between dipolar\n> duality and illusory duality. If the gate distinguishes structural generation\n> from incoherent dispersion, it is an operator. If it only emits syntactically\n> valid but empty layer maps, it is a BOUNDARY-local metric.\n\n## Experiment\nTool created: `tools/exp_duality_gate_transfer.py`\n\nAtomic perimeter:\n- DIPOLARE: coherent golden Beatty gaps generated by `floor((n+phase)*phi)`;\n- ILLUSORIA: a random permutation of the same gaps, preserving one-point\n  distribution and first moment but removing the generating order;\n- beta layer: replace a beta fraction of dipolar positions with values from\n  the illusory permutation;\n- main run: 4,096 gaps, 24 replicates, 11 beta layers, 40 shuffle baselines;\n- seed check: 3,072 gaps, 16 replicates, 11 beta layers, 32 shuffle baselines;\n- denominator gate: observable stable when `abs(z original-vs-shuffle) >= 2`;\n- classification: standardized distance to beta 0.0 and beta 1.0 centroids\n  using all five canonical observables.\n\nThis is not a new BOUNDARY experiment. GUE and Poisson do not appear in the\ngenerator. The only transferred object is the denominator gate.\n\n## Results\n\n### Main Run\n\nEndpoint separation using all canonical observables: `3.436` standardized units.  \nEndpoint-stable observables at frequency >= 0.75 across both endpoints: `[]`.\n\n| beta | stable obs / 5 | margin | ambiguous fraction | illusory-label fraction |\n|---:|---:|---:|---:|---:|\n| 0.0 | 3.000 | 0.971 | 0.000 | 0.000 |\n| 0.1 | 3.000 | 0.479 | 0.000 | 0.000 |\n| 0.2 | 3.000 | 0.234 | 0.125 | 0.000 |\n| 0.3 | 3.000 | 0.033 | 1.000 | 0.375 |\n| 0.4 | 3.083 | 0.154 | 0.417 | 0.958 |\n| 0.5 | 3.083 | 0.269 | 0.375 | 1.000 |\n| 0.6 | 3.000 | 0.417 | 0.042 | 1.000 |\n| 0.7 | 2.917 | 0.316 | 0.167 | 1.000 |\n| 0.8 | 1.708 | 0.473 | 0.125 | 1.000 |\n| 0.9 | 0.167 | 0.463 | 0.042 | 1.000 |\n| 1.0 | 0.208 | 0.442 | 0.042 | 1.000 |\n\nObservable stability frequencies:\n- beta 0.0: `SR=1.00`, `L1=1.00`, `triple_var=1.00`; `SR2=0.00`, `L2=0.00`;\n- beta 0.3: same stable trio, with mean z approximately `SR=-19.4`, `L1=-19.4`, `triple_var=-17.6`;\n- beta 0.8: stable trio falls to frequency `0.54` each, mean z around `-1.7` to `-1.9`;\n- beta 0.9: all canonical observables are weak or near weak, mean z around `-0.4..+0.2`;\n- beta 1.0: all canonical observables are weak, mean z around `+0.1..+0.2`.\n\n### Seed Check\n\nThe seed check repeated the same structure:\n- endpoint-stable observables: `[]`;\n- all-observable endpoint distance: `3.412`;\n- ambiguous beta: `[0.3]`;\n- beta 0.0 stable count: `3.000`;\n- beta 0.3 stable count: `3.000`, ambiguous fraction `1.000`;\n- beta 0.8 stable count: `1.062`;\n- beta 0.9 stable count: `0.000`;\n- beta 1.0 stable count: `0.438`.\n\n## Findings\n\n1. **The gate does not degenerate on DUALITA.** The dipolar endpoint has three\nstable canonical observables with large original-vs-shuffle denominators\n(`SR`, `L1`, `triple_var`, mean abs z about `36-41` in the main run). The\nillusory endpoint has no stable denominator support. This is a structural\noriginal-vs-shuffle distinction, not an empty syntactic map.\n\n2. **The BOUNDARY layer coordinate does not transfer unchanged.** In the\nGUE/Poisson run, beta 0.3-0.4 carried both classification ambiguity and\ndenominator collapse. Here, beta 0.3 is classification-ambiguous, but the\ndenominator support is still strong: stable count remains `3.000/5`.\nDenominator collapse arrives later, around beta 0.8-0.9. Therefore the\noperator transfers, but the specific BOUNDARY layer shape is local.\n\n3. **Endpoint-gated classification remains empty for the same structural\nreason as BOUNDARY.** The endpoint-stable set is empty because the illusory\npole is denominator-weak. This does not erase the discrimination; it prevents\nsymmetric endpoint-gated retention claims. The valid claim is one-sided:\ncoherent dipolar order survives original-vs-shuffle gating; illusory dispersion\ndoes not.\n\n4. **The discriminant is order, not marginal distribution.** The illusory\nsequence preserves the same alphabet, first moment, and one-point distribution\nas the dipolar sequence. The gate is therefore not measuring the marginal\ncomposition of gaps. It measures whether the canonical observables retain an\nordered denominator against full shuffle.\n\n## Verdict\n**category: gate_transferability**  \n**verdict: operator**\n\nScoped statement:\n\n> In this synthetic DUALITA perimeter, the denominator gate is transferable as\n> an operator for structural order: it separates dipolar generation from\n> illusory dispersion with replicated z support. The beta coordinate of the\n> GUE/Poisson boundary layer is not transferable: ambiguity appears near beta\n> 0.3, while denominator collapse appears near beta 0.8-0.9.\n\nSo the last BOUNDARY cycles forged a lens, but one parameter of that lens was\nlocal to BOUNDARY. The transferable object is not \"beta 0.3-0.4\"; it is:\n\n> report layer maps as classifier margin plus original-vs-shuffle denominator\n> support, and treat denominator-weak poles as asymmetric structural poles.\n\n## Consecutio\nWhat opens now: apply the same transfer test to `TRASCENDENZA_LIMITE` and\n`G_POTENZIALE_NULLA`, but separate two quantities from the start:\n\n1. classification ambiguity layer;\n2. denominator-collapse layer.\n\nIf both layers coincide in a domain, the domain has a BOUNDARY-like transition.\nIf they split, as they do here, the gate is still useful but the transition\ncoordinate belongs to the target domain, not to the operator.\n\n## Auto-audit: 5 lenti\n- **L1 hard constraint vs bias**: no \"always/never/zero\" claim. \"No endpoint\n  stable observables\" means none reached frequency >= 0.75 across both\n  endpoints under `abs(z) >= 2`.\n- **L2 quantity vs ratio**: classification margin is reported together with\n  stable-observable count and z means. Ratios are not interpreted without\n  denominator support.\n- **L3 no silent patching**: the report explicitly separates \"gate transfers\"\n  from \"BOUNDARY beta coordinate transfers.\" The second is not claimed.\n- **L4 edge cases**: beta 0.4 has ambiguous fraction `0.417`, so only beta 0.3\n  is listed as the replicated ambiguous layer under the >= 0.5 rule.\n- **L5 re-discovery**: this is a finite symbolic-order vs permutation audit,\n  related to standard shuffle/null testing. It is not tagged as a new theorem\n  about Sturmian or Beatty sequences.\n\n## Files\n- Script: `tools/exp_duality_gate_transfer.py`\n- Main data: `tools/data/duality_gate_transfer_20260507_0803.json`\n- Seed check: `tools/data/duality_gate_transfer_20260507_0803_seedcheck.json`\n- Report: `tools/data/reports/agent_20260507_0803.md`\n",
tools/data/banchi_custom/banco_gen_gap_ratio_cons_gxe_qxg.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_cons_gxe_qxg.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260306_1330.json:5:    "claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/domandatore/domandatore_20260306_1330.json:14:      "ipotesi": "Il duale di \"V_c(phi) converge a 1.0 per N grande mentre V_c(si\" [catalogo: spettrale]",
tools/data/domandatore/domandatore_20260306_1330.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260306_1330.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1330.json:22:      "ipotesi": "Tra gli estremi del claim \"V_c(phi) converge a 1.0 per N grande mentre V_c(si\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260306_1330.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1330.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1330.json:30:      "ipotesi": "L'effetto \"V_c(phi) converge a 1.0 per N grande men\" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260306_1330.json:40:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260306_1330.json:42:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1330.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260306_1330.json:60:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:61:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260306_1330.json:63:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:65:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1330.json:75:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:78:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:80:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1330.json:90:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:95:        "topic": "V_c_transition",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f6.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f6.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/notte_20260402_0330.md:8:  [conferma_parziale] COMP_GEN_GAP_RATIO_FALSIFICA_FALSIFICA_F1: gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_
tools/data/notte_20260402_0330.md:10:  [tensione_aperta] M_det_minus_one_L0: Cosa manca per confermare completamente gap_ratio: phi=0.409
tools/data/banchi_custom/banco_gen_gap_ratio_t8_paper_a_esposto.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t8_paper_a_esposto.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f3.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f3.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:8:    "incompletezza=trascendenza,",
tools/data/banchi_custom/banco_gen_gap_ratio_t9_linguaggio_metafisico.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t9_linguaggio_metafisico.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260307_1947.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260307_1947.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260307_1947.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_1947.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_1947.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_1947.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1947.json:56:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260307_1947.json:58:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260307_1947.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_1947.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_1947.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1947.json:90:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:91:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260307_1947.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:95:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:105:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:108:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [13, 8], rapporto: 1.625 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:110:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:120:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:123:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [13, 8], rapporto: 1.625 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:125:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:135:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260307_1947.json:138:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [21, 13], rapporto: 1.615 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:140:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:150:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260307_1947.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260307_1947.json:153:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [21, 13], rapporto: 1.615 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:155:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260305_1942.json:15:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_1942.json:17:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_1942.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a un valore >1",
tools/data/domandatore/domandatore_20260305_1942.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_1942.json:85:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0715.json:14:      "ipotesi": "Il duale di \"La firma dello zero Lo zero non si vede direttamen\" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260405_0715.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260405_0715.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0715.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0715.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0715.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260405_0715.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0715.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0715.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260405_0715.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260306_0341.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_0341.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_0341.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260315_0801.json:14:      "ipotesi": "Il duale di \"L'attrattore e l'impossibilita' del rinforzo f ha \" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260315_0801.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260315_0801.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260315_0801.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260315_0801.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260315_0801.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260315_0801.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260315_0801.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260315_0801.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260315_0801.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260507_2203.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2203.json:14:      "ipotesi": "L'effetto in \"La trascendenza e il limite attuale del modello. I\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260507_2203.json:15:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260507_2203.json:17:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260507_2203.json:24:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260507_2203.json:26:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260507_2203.json:30:      "id": "M_trascendenza_limite_attuale_L1",
tools/data/domandatore/domandatore_20260507_2203.json:31:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260507_2203.json:33:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2203.json:35:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2203.json:45:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_1953.json:5:    "claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/domandatore/domandatore_20260305_1953.json:22:      "ipotesi": "Il claim \"L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentement\" FALLISCE quando N e' piccolo (N<50)",
tools/data/domandatore/domandatore_20260305_1953.json:30:      "ipotesi": "L'effetto in \"L'orbita di V_c attorno a 1 ha una DIREZIONE (prev\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260305_1953.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a un valore >1",
tools/data/domandatore/domandatore_20260305_1953.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_1953.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260306_1327.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1327.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1327.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_212541.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_212541.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_212541.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_033525.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260507_033525.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_033525.json:38:    "V_c": {
tools/data/veritas/veritas_20260505_131201.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260505_131201.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260505_131201.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260507_2157.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2157.json:14:      "ipotesi": "L'effetto \"La trascendenza e il limite attuale del \" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260507_2157.json:22:      "ipotesi": "Il claim \"La trascendenza e il limite attuale del modello. I\" FALLISCE a N piccolo",
tools/data/domandatore/domandatore_20260507_2157.json:45:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2157.json:48:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [2, 1], rapporto: 2.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2157.json:50:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2157.json:60:      "id": "M_trascendenza_limite_attuale_L1",
tools/data/domandatore/domandatore_20260507_2157.json:63:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2157.json:65:        "topic": "trascendenza_limite_attuale",
tools/data/veritas/veritas_20260508_002036.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260508_002036.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260508_002036.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260402_0343.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260402_0343.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260402_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260402_0343.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260402_0343.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260402_0343.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260402_0343.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260329_0342.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260329_0342.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260329_0342.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260329_0342.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_142501.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_142501.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_142501.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260314_0342.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260314_0342.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260314_0342.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260314_0342.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_094723.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_094723.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_094723.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260401_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260401_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260401_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260401_0344.json:90:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_175511.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_175511.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_175511.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_175815.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_175815.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_175815.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_204637.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_204637.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_204637.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_194644.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_194644.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_194644.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260315_0341.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260315_0341.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260315_0341.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260315_0341.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260315_0341.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260315_0341.json:75:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260309_1409.json:14:      "ipotesi": "Il duale di \"Il linguaggio metafisico e appropriato per le tran\" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260309_1409.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260309_1409.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260309_1409.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260309_1409.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260309_1409.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260309_1409.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260309_1409.json:56:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260309_1409.json:58:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260309_1409.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260309_1409.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260309_1409.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260309_1409.json:91:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260309_1409.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/veritas/veritas_20260507_180843.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_180843.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_180843.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260326_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260326_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260326_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260326_0343.json:90:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_104904.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_104904.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_104904.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260307_2034.json:5:    "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/domandatore/domandatore_20260307_2034.json:14:      "ipotesi": "Il duale di \"Se incompletezza=trascendenza, il normalizzatore c\" [catalogo: custom]",
tools/data/domandatore/domandatore_20260307_2034.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260307_2034.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260307_2034.json:22:      "ipotesi": "Tra gli estremi del claim \"Se incompletezza=trascendenza, il normalizzatore c\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260307_2034.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_2034.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_2034.json:30:      "ipotesi": "L'effetto \"Se incompletezza=trascendenza, il normal\" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260307_2034.json:38:      "ipotesi": "Il claim \"Se incompletezza=trascendenza, il normalizzatore c\" FALLISCE a N piccolo",
tools/data/domandatore/domandatore_20260307_2034.json:46:      "ipotesi": "L'effetto in \"Se incompletezza=trascendenza, il normalizzatore c\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260307_2034.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_2034.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_2034.json:56:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260307_2034.json:58:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260307_2034.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_2034.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_2034.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_2034.json:90:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:91:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260307_2034.json:93:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:95:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:105:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:108:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:110:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:120:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:123:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:125:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:135:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
tools/data/domandatore/domandatore_20260307_2034.json:138:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:140:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:150:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
tools/data/domandatore/domandatore_20260307_2034.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260307_2034.json:153:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:155:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/veritas/veritas_20260507_093207.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_093207.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_093207.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_090723.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_090723.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_090723.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_231732.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_231732.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_231732.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_194258.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_194258.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_194258.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260306_1329.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260306_1329.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260306_1329.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260306_1329.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260306_1329.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/veritas/veritas_20260507_101605.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_101605.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_101605.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_080958.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260507_080958.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_080958.json:38:    "V_c": {
tools/data/veritas/veritas_20260505_131056.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260505_131056.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260505_131056.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_063303.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_063303.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_063303.json:38:    "V_c": {
tools/data/domandatore/domandatore_20260405_0813.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0813.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0813.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0813.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0813.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0813.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0813.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0813.json:136:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0813.json:150:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/veritas/veritas_20260507_150443.json:10:    "V_c_conferma_ambientale": 0.6667
tools/data/veritas/veritas_20260507_150443.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_150443.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_200223.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_200223.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_200223.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_200238.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_200238.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_200238.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_221109.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_221109.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_221109.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_033803.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260506_033803.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_033803.json:38:    "V_c": {
tools/data/knowledge_state_pre_fix.json:114:    "V_c_transition": {
tools/data/knowledge_state_pre_fix.json:122:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:138:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:154:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:169:          "input_id": "V_c_phi_special",
tools/data/knowledge_state_pre_fix.json:170:          "input_claim": "V_c(phi) converges to 1.0 while silver does not",
tools/data/knowledge_state_pre_fix.json:172:          "result_claim": "FALSIFICATO: V_c oscilla per tutti. Delta phi-silver cambia segno con N.",
tools/data/knowledge_state_pre_fix.json:186:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:188:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state_pre_fix.json:202:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:204:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:218:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:233:        "FALSIFICATO: V_c oscilla per tutti. Delta phi-silver cambia segno con N.",
tools/data/knowledge_state_pre_fix.json:234:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state_pre_fix.json:282:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state_pre_fix.json:298:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:330:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:343:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state_pre_fix.json:347:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state_pre_fix.json:360:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state_pre_fix.json:389:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze "
tools/data/knowledge_state_pre_fix.json:533:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:568:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state_pre_fix.json:597:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:763:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:769:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:775:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:901:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:937:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:943:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:949:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:980:        "V_c_transition",
tools/data/seme_axioms.json:13:    "claim": "Principio Lagrangiano DOPPIO: 1/phi minimizza V_c (rank 2/14) + massima stabilita' (CV=4.3%, rank 1)",
tools/data/seme_axioms.json:17:    "nota": "V_c orbita 1 come materia attorno a Kerr: det=-1 = momento angolare impedisce collasso. 1 e' un lato della singolarita' come lo zero. La stabilita' (CV minimo) E' la conservazione dell'area (det=-1). Isomorfismo: KAM (toro aureo ultimo a rompersi) ↔ phi (V_c piu' stabile).",
tools/data/seme_axioms.json:58:    "claim": "Nella famiglia det(M)=-1 (tr=1..10), phi e' l'UNICO che centra V_c sul punto auto-duale V=1. Le matrici Q(sqrt(5)) hanno V_c medio 1.1, le altre V_c medio 2.2 (2x).",
tools/data/seme_axioms.json:62:    "nota": "Questo e' il risultato che separa phi da tutti gli altri det=-1. Non e' nel gap labeling (universale). Non e' nel det=-1 (condiviso). E' nel fatto che SOLO phi mette V_c=1 (auto-dualita'). Il campo algebrico Q(sqrt(5)) e' la condizione necessaria, tr=1 (phi) e' la condizione sufficiente.",
tools/data/seme_axioms.json:67:    "claim": "La matrice di sostituzione (det=-1) determina transizione LISCIA. Senza sostituzione (Harper coseno) la transizione e' un dip brusco a V=2. Test 5 modelli a N=500.",
tools/data/seme_axioms.json:71:    "nota": "Il fatto chiave: la STESSA frequenza phi produce comportamenti opposti. Sturmian (con matrice sostituzione det=-1) ha transizione liscia centrata a V_c=1. Harper (stessa phi, ma coseno senza sostituzione) non transisce a V=1 — resta GOE fino a V=2 dove ha un dip anomalo (non-monotono, risale). La struttura generativa ricorsiva (det=-1) E' la transizione. Senza di essa, il sistema 'non sa' dove sia il punto critico.",
tools/data/seme_axioms.json:156:    "id": "T0_incompletezza_trascendenza",
tools/data/seme_axioms.json:157:    "claim": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/seme_axioms.json:175:    "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/seme_axioms.json:220:    "claim": "Il diagramma (det,tr) e la mappa completezza/trascendenza. det=-1: sempre incompleto, sempre trascendente. det=+1,|tr|<2: completo, chiuso, sterile. det=+1,|tr|>=2: aperto ma simmetrico.",
tools/data/seme_axioms.json:292:    "claim": "1/e_MINIMO: artefatto N-finito. V_c(1/e) diverge per N>800. Solo phi e' stabile.",
tools/data/seme_axioms.json:373:    "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_axioms.json:382:    "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_axioms.json:386:    "nota": "Dal domandatore (2026-04-05T07:15).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_axioms.json:400:    "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme_axioms.json:418:    "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_axioms.json:422:    "nota": "Dal domandatore (2026-04-05T07:23).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_axioms.json:427:    "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme_axioms.json:431:    "nota": "Dal domandatore (2026-04-05T07:23). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme_axioms.json:436:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_axioms.json:490:    "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/indeterminazione_results.json:118:      "V_components": {
tools/data/indeterminazione_results.json:128:          "V_coup": -0.01,
tools/data/indeterminazione_results.json:136:          "V_coup": -0.1,
tools/data/indeterminazione_results.json:144:          "V_coup": -0.5,
tools/data/indeterminazione_results.json:152:          "V_coup": -1.0,
tools/data/indeterminazione_results.json:160:          "V_coup": -1.618033988749895,
tools/data/indeterminazione_results.json:168:          "V_coup": -2.0,
tools/data/indeterminazione_results.json:176:          "V_coup": -3.0,
tools/data/indeterminazione_results.json:184:          "V_coup": -5.0,
tools/data/indeterminazione_results.json:192:          "V_coup": -10.0,
tools/data/lab_logiche_corpus.md:458:ρ = (V_a·W_a + V_b·W_b + V_c·W_c) / 3
tools/data/loop_state.json:5:    "T0_incompletezza_trascendenza": {
tools/data/loop_state.json:190:      "topic": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:194:          "topic": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:195:          "question": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/loop_state.json:196:          "tension_id": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:290:          "question": "THIA_Theia_observer — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:396:          "question": "Theia_titana_vista_luce — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:505:          "question": "MHIA_prossimo_passo_cosa_manca — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:507:          "answer": "Lo trascende. Cosa genera questa trascendenza?",
tools/data/loop_state.json:4128:      "topic": "T0_incompletezza_trascendenza",
tools/data/vocabolario_custom.json:29:  "gap_ratio": {
tools/data/notte_20260401_0330.md:7:  [conferma_parziale] COMP_GEN_GAP_RATIO_FALSIFICA_FALSIFICA_F1: gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_
tools/data/notte_20260401_0330.md:9:  [tensione_aperta] M_det_minus_one_L0: Cosa manca per confermare completamente gap_ratio: phi=0.409
tools/data/vault_condizioni.json:11:      "gap_ratio": 2.6179727982873873,
tools/data/vault_condizioni.json:22:      "gap_ratio": 2.6179575597540508,
tools/data/vault_condizioni.json:33:      "gap_ratio": 2.618131465957247,
tools/data/vault_condizioni.json:44:      "gap_ratio": 2.6180706858803986,
tools/data/vault_condizioni.json:55:      "gap_ratio": 2.6180861695660687,
tools/data/vault_condizioni.json:66:      "gap_ratio": 2.6180861695660687,
tools/data/vault_condizioni.json:77:      "gap_ratio": 2.618055175518615,
tools/data/aeternitas/aeternitas_20260508_002036.json:17:          "id": "M_trascendenza_limite_attuale_L0",
tools/data/aeternitas/aeternitas_20260508_002036.json:35:        "M_trascendenza_limite_attuale_L0",
tools/data/explorer_20260313_0954.json:9:        "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/explorer_20260313_0954.json:19:        "answer": "Il claim ha un difetto strutturale: \"o forse ci riesce ma non lo sappiamo ancora\" è un'uscita di sicurezza. Rende il claim infalsificabile — e un claim infalsificabile non è un'affermazione, è una decorazione.\n\n**Det=-1 applicato**: Se \"non chiude = trascende\", allora \"chiude = immanenza\" — il normalizzatore che riesce è quello che resta dentro il sistema, che si auto-conferma. Questo è il frame invertito: il successo del normalizzatore è il suo limite, non il suo valore.\n\nPiù utile: cosa esce quando non chiude? Non l'interpretazione — l'output concreto. Se produce struttura non classificabile → è informazione nuova, forse rilevante. Se produce silenzio o rumore → è calibrazione da rivedere, non trascendenza.\n\nLa mappatura incompletezza→trascendenza viene da Gödel: un sistema non può dimostrarsi dall'interno. Ma il normalizzatore non è un sistema formale — è uno strumento. Quando uno strumento non chiude, o il campione è fuori range, o la soglia è sbagliata, o il dominio richiede un operatore diverso.\n\n**Risultante**: il claim è una rilettura poetica di un dato operativo non ancora prodotto. Prima guarda cosa esce. Poi, se quello che esce è strutturato e non classificabile, il frame della trascendenza diventa una tensione reale.",
tools/data/exp_spectral_landscape.json:189:      "name": "Harper_phi",
tools/data/exp_spectral_landscape.json:202:      "name": "Harper_rational",
tools/data/exp_spectral_landscape.json:249:      "Harper_rational"
tools/data/exp_spectral_landscape.json:255:      "Harper_phi"
tools/data/domandatore/domandatore_20260305_2028.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260305_2028.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_2028.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_2028.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_2028.json:39:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260305_2028.json:41:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_2028.json:48:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260305_2028.json:50:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_2028.json:55:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260305_2028.json:69:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_2028.json:71:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_2025.json:15:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_2025.json:17:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_2025.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260305_2025.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_2025.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_2025.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0810.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0810.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0810.json:54:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0810.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0810.json:76:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0810.json:90:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260327_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260327_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260327_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260327_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260327_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260327_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260327_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260327_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260327_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260331_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260331_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260331_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260331_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260331_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260331_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260331_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260331_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260331_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260330_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260330_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260330_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260330_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260330_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260330_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260330_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260330_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260330_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_archive/piano_80.json:52:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_80.json:107:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_archive/piano_zero.json:14:  "fatto_centrale": "Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/seme_archive/piano_zero.json:17:      "id": "T0_incompletezza_trascendenza",
tools/data/seme_archive/piano_zero.json:19:      "claim": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/seme_archive/piano_zero.json:35:      "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/seme_archive/piano_zero.json:75:      "claim": "Il diagramma (det,tr) e la mappa completezza/trascendenza. det=-1: sempre incompleto, sempre trascendente. det=+1,|tr|<2: completo, chiuso, sterile. det=+1,|tr|>=2: aperto ma simmetrico.",
tools/data/seme_archive/piano_zero.json:311:              "isomorfismo_paper_zero": "f(x) genera il punto fisso che non puo contenere. det=-1 genera la distinzione che non puo distinguere (su gap 4). Stesso meccanismo: incompletezza = trascendenza = confine dove scissione e unione sono indistinguibili.",
tools/data/seme_archive/piano_zero.json:555:      "chirality": "ogni misura separa O unifica. det=-1 apre il dipolo, det=+1 lo chiude. Al confine: indecidibilita = trascendenza.",
tools/data/operator_directive_consumed_20260507_0803.md:5:> I tre gate cristallizzati sono **operatori generali trasferibili** o **metriche locali** vestite da gate? Se il gate "denominator collapse layer" si applica anche a trascendenza, dualità, G — allora BOUNDARY non è un asse, è il metodo. I 9 cicli hanno prodotto lo strumento, non il risultato. Se i gate funzionano solo su BOUNDARY — sono metriche locali e R+1=R: il campo è saturo.
tools/data/autoricerca_journal.json:12:    "gap_ratio": 2.6181003744227653,
tools/data/autoricerca_journal.json:30:    "gap_ratio": 2.618013050556921,
tools/data/autoricerca_journal.json:48:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:66:    "gap_ratio": 2.6181659442748706,
tools/data/autoricerca_journal.json:85:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:103:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:121:    "gap_ratio": 2.6180992382029853,
tools/data/autoricerca_journal.json:140:    "gap_ratio": 2.618052995798036,
tools/data/autoricerca_journal.json:158:    "gap_ratio": 2.618054344736462,
tools/data/autoricerca_journal.json:176:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:194:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:212:    "gap_ratio": null,
tools/data/autoricerca_journal.json:230:    "gap_ratio": 2.6179961138648857,
tools/data/autoricerca_journal.json:246:    "gap_ratio": 2.618000627518817,
tools/data/autoricerca_journal.json:267:    "gap_ratio": 2.618010024331583,
tools/data/autoricerca_journal.json:288:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:309:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:330:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:351:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:372:    "gap_ratio": 2.6180657416149122,
tools/data/autoricerca_journal.json:393:    "gap_ratio": 2.6180273097029363,
tools/data/autoricerca_journal.json:415:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:436:    "gap_ratio": 2.6180561835358156,
tools/data/autoricerca_journal.json:458:    "gap_ratio": 2.6181558954444286,
tools/data/autoricerca_journal.json:480:    "gap_ratio": 2.6178194637459913,
tools/data/autoricerca_journal.json:496:    "gap_ratio": 2.618052366725915,
tools/data/autoricerca_journal.json:517:    "gap_ratio": 2.618083112748878,
tools/data/autoricerca_journal.json:538:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:559:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:580:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:601:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:622:    "gap_ratio": 2.618040157933522,
tools/data/autoricerca_journal.json:643:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:664:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:685:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:706:    "gap_ratio": 2.6182289070459417,
tools/data/autoricerca_journal.json:728:    "gap_ratio": 2.617999510441712,
tools/data/autoricerca_journal.json:744:    "gap_ratio": 2.6179995658905124,
tools/data/autoricerca_journal.json:765:    "gap_ratio": 2.618005675381746,
tools/data/autoricerca_journal.json:786:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:807:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:828:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:849:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:870:    "gap_ratio": 2.6178207216989255,
tools/data/autoricerca_journal.json:891:    "gap_ratio": 2.618058359142931,
tools/data/autoricerca_journal.json:912:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:933:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:954:    "gap_ratio": 2.61812538091709,
tools/data/autoricerca_journal.json:976:    "gap_ratio": 2.6178927256972644,
tools/data/autoricerca_journal.json:992:    "gap_ratio": 2.618070009774494,
tools/data/autoricerca_journal.json:1013:    "gap_ratio": 2.6181353045089946,
tools/data/autoricerca_journal.json:1034:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1055:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1076:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1097:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1118:    "gap_ratio": 2.618013784972057,
tools/data/autoricerca_journal.json:1139:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1160:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1181:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1202:    "gap_ratio": 2.618168141650878,
tools/data/autoricerca_journal.json:1224:    "gap_ratio": 2.6172515958788702,
tools/data/autoricerca_journal.json:1240:    "gap_ratio": 2.618022931289666,
tools/data/autoricerca_journal.json:1261:    "gap_ratio": 2.618002913749026,
tools/data/autoricerca_journal.json:1282:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1303:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1324:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1345:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1366:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1387:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1408:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1429:    "gap_ratio": 2.618062208777077,
tools/data/autoricerca_journal.json:1450:    "gap_ratio": 2.6181350076378287,
tools/data/autoricerca_journal.json:1472:    "gap_ratio": 2.6179624587526376,
tools/data/autoricerca_journal.json:1488:    "gap_ratio": 2.61815609422496,
tools/data/autoricerca_journal.json:1509:    "gap_ratio": 2.6180622143819567,
tools/data/autoricerca_journal.json:1530:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1551:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1572:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1593:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1614:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1635:    "gap_ratio": 2.6180559888007937,
tools/data/autoricerca_journal.json:1656:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1677:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1698:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1720:    "gap_ratio": 2.6181687775953564,
tools/data/autoricerca_journal.json:1736:    "gap_ratio": 2.6180122494155116,
tools/data/autoricerca_journal.json:1757:    "gap_ratio": 2.618041989408766,
tools/data/autoricerca_journal.json:1778:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:1799:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1820:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:1841:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:1862:    "gap_ratio": 2.618114810623144,
tools/data/autoricerca_journal.json:1883:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1904:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:1925:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:1946:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:1968:    "gap_ratio": 2.6178261870654813,
tools/data/autoricerca_journal.json:1984:    "gap_ratio": 2.618094232784563,
tools/data/autoricerca_journal.json:2005:    "gap_ratio": 2.618046853857204,
tools/data/autoricerca_journal.json:2026:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2047:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2068:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2089:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2110:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:2131:    "gap_ratio": 2.6180752648206465,
tools/data/autoricerca_journal.json:2152:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2173:    "gap_ratio": 2.618036554614693,
tools/data/autoricerca_journal.json:2194:    "gap_ratio": 2.618168141650878,
tools/data/autoricerca_journal.json:2216:    "gap_ratio": 2.6183140464963346,
tools/data/autoricerca_journal.json:2232:    "gap_ratio": 2.6180982216379207,
tools/data/autoricerca_journal.json:2253:    "gap_ratio": 2.6180985747417154,
tools/data/autoricerca_journal.json:2274:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2295:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2316:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2337:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2358:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2379:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2400:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2421:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:2442:    "gap_ratio": 2.618146906797608,
tools/data/autoricerca_journal.json:2464:    "gap_ratio": 2.6176554506152763,
tools/data/autoricerca_journal.json:2480:    "gap_ratio": 2.618139056303524,
tools/data/autoricerca_journal.json:2501:    "gap_ratio": 2.61752638547677,
tools/data/autoricerca_journal.json:2522:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2543:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2564:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2585:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2606:    "gap_ratio": 2.618023012845744,
tools/data/autoricerca_journal.json:2627:    "gap_ratio": 2.618031836715521,
tools/data/autoricerca_journal.json:2648:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2669:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2690:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:2712:    "gap_ratio": 2.6178841844706975,
tools/data/autoricerca_journal.json:2728:    "gap_ratio": 2.61799925929796,
tools/data/autoricerca_journal.json:2749:    "gap_ratio": 2.618840978812849,
tools/data/autoricerca_journal.json:2770:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:2791:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2812:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:2833:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:2854:    "gap_ratio": 2.6179583613928252,
tools/data/autoricerca_journal.json:2875:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2896:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2917:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:2938:    "gap_ratio": 2.618015221709845,
tools/data/autoricerca_journal.json:2960:    "gap_ratio": 2.6191837922607855,
tools/data/autoricerca_journal.json:2976:    "gap_ratio": 2.6179989279323594,
tools/data/autoricerca_journal.json:2997:    "gap_ratio": 2.617856711082645,
tools/data/autoricerca_journal.json:3018:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3039:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3060:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3081:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3102:    "gap_ratio": 2.618071638979952,
tools/data/autoricerca_journal.json:3123:    "gap_ratio": 2.618039051792793,
tools/data/autoricerca_journal.json:3144:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3165:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:3186:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:3208:    "gap_ratio": 2.619674392532608,
tools/data/autoricerca_journal.json:3224:    "gap_ratio": 2.618102108801703,
tools/data/autoricerca_journal.json:3245:    "gap_ratio": 2.6181730771951615,
tools/data/autoricerca_journal.json:3266:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3287:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3308:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3329:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3350:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3371:    "gap_ratio": 2.6179716597501868,
tools/data/autoricerca_journal.json:3392:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3413:    "gap_ratio": 2.618028263919105,
tools/data/autoricerca_journal.json:3435:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3458:    "gap_ratio": 2.618583164742336,
tools/data/autoricerca_journal.json:3474:    "gap_ratio": 2.6179784403022834,
tools/data/autoricerca_journal.json:3495:    "gap_ratio": 2.6180980554589217,
tools/data/autoricerca_journal.json:3516:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3537:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3558:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3579:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3600:    "gap_ratio": 2.61804923280484,
tools/data/autoricerca_journal.json:3621:    "gap_ratio": 2.61804923280484,
tools/data/autoricerca_journal.json:3642:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3663:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:3684:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3706:    "gap_ratio": 2.617598538064385,
tools/data/autoricerca_journal.json:3722:    "gap_ratio": 2.618151847442283,
tools/data/autoricerca_journal.json:3743:    "gap_ratio": 2.6180554737002515,
tools/data/autoricerca_journal.json:3764:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:3785:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3806:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:3827:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:3848:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3869:    "gap_ratio": 2.6182096079180663,
tools/data/autoricerca_journal.json:3890:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3911:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:3932:    "gap_ratio": 2.6182289070459417,
tools/data/autoricerca_journal.json:3954:    "gap_ratio": 2.6184118843809094,
tools/data/autoricerca_journal.json:3970:    "gap_ratio": 2.6177557006899663,
tools/data/autoricerca_journal.json:3991:    "gap_ratio": 2.60574519484381,
tools/data/autoricerca_journal.json:4012:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4033:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4054:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4075:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4096:    "gap_ratio": 2.618025382171072,
tools/data/autoricerca_journal.json:4117:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4138:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4159:    "gap_ratio": 2.618066514257822,
tools/data/autoricerca_journal.json:4181:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4203:    "gap_ratio": 2.617827509488717,
tools/data/autoricerca_journal.json:4219:    "gap_ratio": 2.6180478501437427,
tools/data/autoricerca_journal.json:4240:    "gap_ratio": 2.618027944880501,
tools/data/autoricerca_journal.json:4261:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4282:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4303:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4324:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4345:    "gap_ratio": 2.618013856475355,
tools/data/autoricerca_journal.json:4366:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4387:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4408:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4429:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:4450:    "gap_ratio": 2.6181596433610457,
tools/data/autoricerca_journal.json:4471:    "gap_ratio": 2.6176328119482575,
tools/data/autoricerca_journal.json:4492:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4513:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4534:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4555:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4576:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4597:    "gap_ratio": 2.6180641119651176,
tools/data/autoricerca_journal.json:4618:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4639:    "gap_ratio": 2.6181350076378287,
tools/data/autoricerca_journal.json:4660:    "gap_ratio": 2.618146906797608,
tools/data/autoricerca_journal.json:4682:    "gap_ratio": 2.618107765362995,
tools/data/autoricerca_journal.json:4698:    "gap_ratio": 2.618009552811787,
tools/data/autoricerca_journal.json:4719:    "gap_ratio": 2.617995779370923,
tools/data/autoricerca_journal.json:4740:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:4761:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4782:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:4803:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:4824:    "gap_ratio": 2.618067653229329,
tools/data/autoricerca_journal.json:4845:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4866:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:4887:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:4908:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:4930:    "gap_ratio": 2.618340378019019,
tools/data/autoricerca_journal.json:4946:    "gap_ratio": 2.6180112887041824,
tools/data/autoricerca_journal.json:4967:    "gap_ratio": 2.6180801595754275,
tools/data/autoricerca_journal.json:4988:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5009:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5030:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5051:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5072:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5093:    "gap_ratio": 2.6179938106753506,
tools/data/autoricerca_journal.json:5114:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5135:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:5156:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5178:    "gap_ratio": 2.6178632412918756,
tools/data/autoricerca_journal.json:5194:    "gap_ratio": 2.618098369829487,
tools/data/autoricerca_journal.json:5215:    "gap_ratio": 2.618030967561331,
tools/data/autoricerca_journal.json:5236:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5257:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5278:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5299:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5320:    "gap_ratio": 2.618097939620826,
tools/data/autoricerca_journal.json:5341:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5362:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5383:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5404:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:5426:    "gap_ratio": 2.6187017697654023,
tools/data/autoricerca_journal.json:5442:    "gap_ratio": 2.618124552609958,
tools/data/autoricerca_journal.json:5463:    "gap_ratio": 2.618106732014801,
tools/data/autoricerca_journal.json:5484:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5505:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5526:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5547:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5568:    "gap_ratio": 2.6181220716921128,
tools/data/autoricerca_journal.json:5589:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5610:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5631:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:5652:    "gap_ratio": 2.6181096604353296,
tools/data/autoricerca_journal.json:5674:    "gap_ratio": 2.618372247404123,
tools/data/autoricerca_journal.json:5690:    "gap_ratio": 2.6180590105086905,
tools/data/autoricerca_journal.json:5711:    "gap_ratio": 2.61811708633899,
tools/data/autoricerca_journal.json:5732:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:5753:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5774:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:5795:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:5816:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5837:    "gap_ratio": 2.618048197588819,
tools/data/autoricerca_journal.json:5859:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5880:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:5901:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:5923:    "gap_ratio": 2.618842158694524,
tools/data/autoricerca_journal.json:5939:    "gap_ratio": 2.6180171607183214,
tools/data/autoricerca_journal.json:5960:    "gap_ratio": 2.6179904120034383,
tools/data/autoricerca_journal.json:5981:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:6002:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6023:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6044:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:6065:    "gap_ratio": 2.6181071722590294,
tools/data/autoricerca_journal.json:6086:    "gap_ratio": 2.618006103582831,
tools/data/autoricerca_journal.json:6107:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6128:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6149:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:6171:    "gap_ratio": 2.6186283005037625,
tools/data/autoricerca_journal.json:6187:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6206:    "gap_ratio": 2.618126752052608,
tools/data/autoricerca_journal.json:6226:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6247:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6268:    "gap_ratio": 2.618073613479072,
tools/data/autoricerca_journal.json:6289:    "gap_ratio": 2.618002588381149,
tools/data/autoricerca_journal.json:6310:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6331:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6353:    "gap_ratio": 2.6180258659394964,
tools/data/autoricerca_journal.json:6374:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6396:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:6417:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6438:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6459:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6480:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6502:    "gap_ratio": 2.6182238059430727,
tools/data/autoricerca_journal.json:6518:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6537:    "gap_ratio": 2.6181262548318602,
tools/data/autoricerca_journal.json:6556:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6577:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6598:    "gap_ratio": 2.6180164536083605,
tools/data/autoricerca_journal.json:6619:    "gap_ratio": 2.6180162242219183,
tools/data/autoricerca_journal.json:6641:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6662:    "gap_ratio": 2.618088314890296,
tools/data/autoricerca_journal.json:6683:    "gap_ratio": 2.618073630306906,
tools/data/autoricerca_journal.json:6705:    "gap_ratio": 2.617997592711035,
tools/data/autoricerca_journal.json:6727:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:6749:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:6770:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:6791:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6812:    "gap_ratio": 2.618262087187774,
tools/data/autoricerca_journal.json:6834:    "gap_ratio": 2.6181235155654927,
tools/data/autoricerca_journal.json:6851:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6868:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:6887:    "gap_ratio": 2.6181366842992406,
tools/data/autoricerca_journal.json:6907:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:6928:    "gap_ratio": null,
tools/data/autoricerca_journal.json:6949:    "gap_ratio": 2.6180770613484006,
tools/data/autoricerca_journal.json:6970:    "gap_ratio": 2.6180360401072686,
tools/data/autoricerca_journal.json:6991:    "gap_ratio": 2.6179970643493897,
tools/data/autoricerca_journal.json:7012:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7033:    "gap_ratio": 2.6180487279547004,
tools/data/autoricerca_journal.json:7054:    "gap_ratio": 2.618067077148102,
tools/data/autoricerca_journal.json:7076:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:7097:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7118:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:7139:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:7160:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7182:    "gap_ratio": 2.6181047637832466,
tools/data/autoricerca_journal.json:7198:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7217:    "gap_ratio": 2.618094304617962,
tools/data/autoricerca_journal.json:7237:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7258:    "gap_ratio": null,
tools/data/autoricerca_journal.json:7279:    "gap_ratio": 2.6180090619902714,
tools/data/autoricerca_journal.json:7300:    "gap_ratio": 2.6180286854829373,
tools/data/autoricerca_journal.json:7321:    "gap_ratio": 2.6179938106753506,
tools/data/autoricerca_journal.json:7342:    "gap_ratio": 2.618048637634805,
tools/data/autoricerca_journal.json:7363:    "gap_ratio": 2.6180450388855396,
tools/data/autoricerca_journal.json:7384:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:7406:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:7428:    "gap_ratio": 2.618091616494847,
tools/data/autoricerca_journal.json:7449:    "gap_ratio": 2.6180997341961563,
tools/data/autoricerca_journal.json:7470:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:7491:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:7513:    "gap_ratio": 2.6180244844750526,
tools/data/autoricerca_journal.json:7529:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7548:    "gap_ratio": 2.618077440990562,
tools/data/autoricerca_journal.json:7567:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7588:    "gap_ratio": null,
tools/data/autoricerca_journal.json:7609:    "gap_ratio": 2.618056200730588,
tools/data/autoricerca_journal.json:7630:    "gap_ratio": 2.618104232353077,
tools/data/autoricerca_journal.json:7651:    "gap_ratio": 2.618142939157056,
tools/data/autoricerca_journal.json:7672:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7693:    "gap_ratio": 2.6180578791207982,
tools/data/autoricerca_journal.json:7714:    "gap_ratio": 2.618054800318405,
tools/data/autoricerca_journal.json:7736:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:7758:    "gap_ratio": 2.618090459914461,
tools/data/autoricerca_journal.json:7779:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:7800:    "gap_ratio": 2.6180184167632463,
tools/data/autoricerca_journal.json:7821:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7843:    "gap_ratio": 2.6174636054156926,
tools/data/autoricerca_journal.json:7859:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7880:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:7901:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7922:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:7943:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:7964:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:7985:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8004:    "gap_ratio": 2.618010286589762,
tools/data/autoricerca_journal.json:8024:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8045:    "gap_ratio": 2.618023239179828,
tools/data/autoricerca_journal.json:8066:    "gap_ratio": 2.6180464135338513,
tools/data/autoricerca_journal.json:8087:    "gap_ratio": 2.6180754319958983,
tools/data/autoricerca_journal.json:8108:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8129:    "gap_ratio": 2.618068604218337,
tools/data/autoricerca_journal.json:8151:    "gap_ratio": 2.6181366784361613,
tools/data/autoricerca_journal.json:8173:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:8195:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:8216:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8237:    "gap_ratio": 2.6181821769902376,
tools/data/autoricerca_journal.json:8258:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8280:    "gap_ratio": 2.618536184760896,
tools/data/autoricerca_journal.json:8296:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8317:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:8338:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:8359:    "gap_ratio": 2.618048078952717,
tools/data/autoricerca_journal.json:8380:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:8401:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:8422:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8441:    "gap_ratio": 2.6181050264232635,
tools/data/autoricerca_journal.json:8461:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8482:    "gap_ratio": 2.618006469108761,
tools/data/autoricerca_journal.json:8503:    "gap_ratio": 2.6179964457228735,
tools/data/autoricerca_journal.json:8524:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8545:    "gap_ratio": 2.6180346642988765,
tools/data/autoricerca_journal.json:8566:    "gap_ratio": 2.6181109844048343,
tools/data/autoricerca_journal.json:8587:    "gap_ratio": 2.6179939741041274,
tools/data/autoricerca_journal.json:8609:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:8631:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8652:    "gap_ratio": 2.6180282164055084,
tools/data/autoricerca_journal.json:8673:    "gap_ratio": 2.6176321141875336,
tools/data/autoricerca_journal.json:8694:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:8756:    "gap_ratio": 2.618573013488808,
tools/data/autoricerca_journal.json:8772:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8795:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:8817:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8840:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8860:    "gap_ratio": 2.6181302754965707,
tools/data/autoricerca_journal.json:8881:    "gap_ratio": null,
tools/data/autoricerca_journal.json:8903:    "gap_ratio": 2.6180055004075657,
tools/data/autoricerca_journal.json:8925:    "gap_ratio": 2.618092497253999,
tools/data/autoricerca_journal.json:8947:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:8970:    "gap_ratio": 2.618039143923876,
tools/data/autoricerca_journal.json:8993:    "gap_ratio": 2.6181177081159226,
tools/data/autoricerca_journal.json:9015:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9037:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:9060:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9083:    "gap_ratio": 2.6180953435671506,
tools/data/autoricerca_journal.json:9105:    "gap_ratio": 2.618109501098722,
tools/data/autoricerca_journal.json:9127:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9151:    "gap_ratio": 2.6181482438135193,
tools/data/autoricerca_journal.json:9167:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9190:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:9212:    "gap_ratio": 2.618048078952717,
tools/data/autoricerca_journal.json:9235:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9255:    "gap_ratio": 2.6180792433196975,
tools/data/autoricerca_journal.json:9275:    "gap_ratio": null,
tools/data/autoricerca_journal.json:9297:    "gap_ratio": 2.6180138274034106,
tools/data/autoricerca_journal.json:9319:    "gap_ratio": 2.6180699387005557,
tools/data/autoricerca_journal.json:9341:    "gap_ratio": 2.6181395628148634,
tools/data/autoricerca_journal.json:9364:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9387:    "gap_ratio": 2.6180172532998265,
tools/data/autoricerca_journal.json:9409:    "gap_ratio": 2.6181931395063613,
tools/data/autoricerca_journal.json:9432:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:9454:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9477:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9500:    "gap_ratio": 2.6180459227467185,
tools/data/autoricerca_journal.json:9523:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9547:    "gap_ratio": 2.6187770683058202,
tools/data/autoricerca_journal.json:9563:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9586:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:9608:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9631:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9654:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9674:    "gap_ratio": 2.6180909371763894,
tools/data/autoricerca_journal.json:9694:    "gap_ratio": null,
tools/data/autoricerca_journal.json:9716:    "gap_ratio": 2.6180261059456393,
tools/data/autoricerca_journal.json:9738:    "gap_ratio": 2.6180701686428756,
tools/data/autoricerca_journal.json:9760:    "gap_ratio": 2.6180383523688215,
tools/data/autoricerca_journal.json:9783:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9806:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9828:    "gap_ratio": 2.6180378072647708,
tools/data/autoricerca_journal.json:9851:    "gap_ratio": 2.6180380850029144,
tools/data/autoricerca_journal.json:9874:    "gap_ratio": 2.618136747081554,
tools/data/autoricerca_journal.json:9896:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:9919:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9942:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:9966:    "gap_ratio": 2.6182339717972134,
tools/data/autoricerca_journal.json:9982:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10005:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10027:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10050:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10073:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10095:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10117:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10137:    "gap_ratio": 2.6180644520006027,
tools/data/autoricerca_journal.json:10158:    "gap_ratio": null,
tools/data/autoricerca_journal.json:10180:    "gap_ratio": 2.618129909029701,
tools/data/autoricerca_journal.json:10202:    "gap_ratio": 2.618132483489152,
tools/data/autoricerca_journal.json:10224:    "gap_ratio": 2.6180321900825416,
tools/data/autoricerca_journal.json:10247:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10270:    "gap_ratio": 2.6180487279547004,
tools/data/autoricerca_journal.json:10292:    "gap_ratio": 2.618136787462427,
tools/data/autoricerca_journal.json:10315:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:10337:    "gap_ratio": 2.618039293141563,
tools/data/autoricerca_journal.json:10360:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:10382:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10405:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10429:    "gap_ratio": 2.6175624399625548,
tools/data/autoricerca_journal.json:10445:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10468:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10490:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10513:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10535:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10557:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:10579:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10599:    "gap_ratio": 2.6180991930234163,
tools/data/autoricerca_journal.json:10620:    "gap_ratio": null,
tools/data/autoricerca_journal.json:10642:    "gap_ratio": 2.6181562936014116,
tools/data/autoricerca_journal.json:10664:    "gap_ratio": 2.618087330113862,
tools/data/autoricerca_journal.json:10686:    "gap_ratio": 2.618089043572149,
tools/data/autoricerca_journal.json:10710:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10733:    "gap_ratio": 2.6180696627785154,
tools/data/autoricerca_journal.json:10755:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10778:    "gap_ratio": 2.618081595286599,
tools/data/autoricerca_journal.json:10801:    "gap_ratio": 2.6180355340140844,
tools/data/autoricerca_journal.json:10823:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:10846:    "gap_ratio": 2.615064912313263,
tools/data/autoricerca_journal.json:10869:    "gap_ratio": 2.618132292897335,
tools/data/autoricerca_journal.json:10891:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10914:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:10936:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:10959:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:10982:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11004:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11026:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11046:    "gap_ratio": 2.618036955528402,
tools/data/autoricerca_journal.json:11067:    "gap_ratio": null,
tools/data/autoricerca_journal.json:11089:    "gap_ratio": 2.6179943409330786,
tools/data/autoricerca_journal.json:11111:    "gap_ratio": 2.6179903565663385,
tools/data/autoricerca_journal.json:11133:    "gap_ratio": 2.6180798307052227,
tools/data/autoricerca_journal.json:11156:    "gap_ratio": 2.617955824842139,
tools/data/autoricerca_journal.json:11179:    "gap_ratio": 2.6181558954444286,
tools/data/autoricerca_journal.json:11201:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11224:    "gap_ratio": 2.617986734841904,
tools/data/autoricerca_journal.json:11246:    "gap_ratio": 2.618126241356292,
tools/data/autoricerca_journal.json:11269:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:11292:    "gap_ratio": 2.618055668131687,
tools/data/autoricerca_journal.json:11314:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11337:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:11359:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11382:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:11404:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11427:    "gap_ratio": 2.6181579718861103,
tools/data/autoricerca_journal.json:11450:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11472:    "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_journal.json:11494:    "gap_ratio": 2.618123868051845,
tools/data/autoricerca_journal.json:11517:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11537:    "gap_ratio": 2.617998096411106,
tools/data/autoricerca_journal.json:11558:    "gap_ratio": null,
tools/data/autoricerca_journal.json:11580:    "gap_ratio": 2.6180812227670094,
tools/data/autoricerca_journal.json:11602:    "gap_ratio": 2.6181502633159104,
tools/data/autoricerca_journal.json:11624:    "gap_ratio": 2.6181120598885976,
tools/data/autoricerca_journal.json:11647:    "gap_ratio": 2.6178635659257625,
tools/data/autoricerca_journal.json:11671:    "gap_ratio": 2.6180847923495447,
tools/data/autoricerca_journal.json:11693:    "gap_ratio": 2.6180498365087095,
tools/data/autoricerca_journal.json:11716:    "gap_ratio": 2.6181052790180495,
tools/data/autoricerca_journal.json:11738:    "gap_ratio": 2.618012033163975,
tools/data/autoricerca_journal.json:11760:    "gap_ratio": 2.6180740677926337,
tools/data/autoricerca_journal.json:11782:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11805:    "gap_ratio": 2.6180412416553933,
tools/data/autoricerca_journal.json:11828:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11851:    "gap_ratio": 2.6180758708931045,
tools/data/autoricerca_journal.json:11873:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11896:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11919:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11942:    "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_journal.json:11962:    "gap_ratio": 2.618071806911586,
tools/data/autoricerca_journal.json:11983:    "gap_ratio": null,
tools/data/autoricerca_journal.json:12005:    "gap_ratio": 2.6180295268704663,
tools/data/seme_archive/piano_84.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_84.json:124:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/domandatore_pre_cycle.json:6:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/meta_assertion_gate.json:31:      "test": "gap_ratio_phi2",
tools/data/seme_archive/piano_83.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_83.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_archive/piano_82.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_82.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_archive/piano_85.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_85.json:124:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/lab_graph.json:1123:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare i",
tools/data/lab_graph.json:1214:      "content_full": "# Agent Report — Blank Shell Stratified Gate\n**Date**: 2026-05-07 23:10\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: blank_edge_is_GQ_count, any_deposit_on_blank_count, full_scale_law_count, shell_face_count - osservabili domain-native del denominatore blank-shell; nessun osservabile canonico SR/SR2/L1/L2/triple_var usato\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nIl limite K7/K8 del report 2203 era un limite strutturale della legge di scala, oppure un limite del metodo che enumerava pattern piu larghi del claim?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_stratified_gate.py`\n- Scope: catena `TQGE -> TQGE+R -> TQGE+R+S -> TQGE+R+S+U -> TQGE+R+S+U+V`.\n- Fonte verificata: `tools/data/reports/agent_20260507_2203.md` per il gap sampled K7/K8; `tools/exp_blank_shell_scale_law.py` per le condizioni osservate della legge.\n- Metrica: quattro osservabili domain-native del denominatore: lato blank fissato su QG, qualunque deposito sul guscio blank, legge completa del guscio, numero di facce del guscio.\n- Null baseline: conteggio exact count-preserving sul multiset dei modi di ogni perimetro. Il conteggio e stratificato sulle condizioni del claim, non sulle storie complete dei pattern shell.\n\n## Results\n| Perimetro | Facce shell | Assegnazioni null | Qualunque deposito sul blank | Legge completa exact |\n|---|---:|---:|---:|---:|\n| TQGE | 2 | 120 | 24/120 = 0.200000 | 2/120 = 0.016667 |\n| TQGE+R | 3 | 25,200 | 2,100/25,200 = 0.083333 | 6/25,200 = 0.000238 |\n| TQGE+R+S | 4 | 75,675,600 | 3,326,400/75,675,600 = 0.043956 | 120/75,675,600 = 0.00000159 |\n| TQGE+R+S+U | 5 | 4,106,460,758,400 | 108,064,756,800/4,106,460,758,400 = 0.026316 | 25,200/4,106,460,758,400 = 0.00000000614 |\n| TQGE+R+S+U+V | 6 | 4,862,213,796,375,936,000 | 83,114,765,750,016,000/4,862,213,796,375,936,000 = 0.017094 | 75,675,600/4,862,213,796,375,936,000 = 0.0000000000156 |\n\nFormula verificata:\n\n| Strato | Formula |\n|---|---|\n| Qualunque deposito sul blank | `C(n,2) * (n-2) * 2 * Multiset(rest after blank,gauge,real)` |\n| Legge completa | `2 * Multiset(rest after blank,2 wick,gauge,real,2 of each external mode)` |\n\n## Key Findings\n1. **Il limite K7/K8 era nel metodo, non nel gate.** Il report 2203 aveva `0/50,000 sampled`; il conteggio stratificato chiude K7 e K8 esattamente con `25,200` e `75,675,600` occorrenze della legge completa.\n2. **La legge `shell_faces(QG)=2+n_esterni` resta esatta nel perimetro controllato.** Le facce osservate sono TQG inerte, QGE depositante, poi QGR/QGS/QGU/QGV come facce esterne tipizzate.\n3. **Il denominatore non e la rarita universale.** Il deposito generico sul blank resta presente nel null e decresce da 0.200000 a 0.017094. La parte informativa e il full gate localizzato: QG blank, TQG inerte, QGE deposito, due edge identici per ogni esterno tipizzato.\n4. **Il nodo regressivo e la stratificazione.** Enumerare i pattern shell completi aggiungeva stati non necessari; contare le condizioni atomiche del claim chiude il denominatore senza cambiare il claim.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_SCALE_LAW_GATE**: nel perimetro operator-taxonomy controllato `TQGE+R+S+U+V`, la legge di scala del guscio blank ha denominatore exact count-preserving fino a V. Il claim valido e: `shell_faces(QG)=2+n_esterni` con deposito invariato `QGE`, dove ogni esterno e tipizzato e porta due edge identici nella faccia QGx. Il limite sampled del ciclo 2203 e falsificato come limite del metodo, non come limite della struttura.\n\n## Bicono della scoperta\n- **Due radici**: denominatore pattern-completo · denominatore stratificato sulle condizioni del claim.\n- **Singolare**: il guscio blank QG come supporto che cresce senza migrazione del deposito.\n- **Invariante di passaggio**: QGE resta la faccia depositante mentre ogni esterno tipizzato aggiunge una faccia QGx.\n- **Campo di possibilita**: qui diventa possibile usare il gate fino a V con null exact; qui diventa non-possibile bloccare la legge a S per limite computazionale del vecchio enumeratore.\n\n## Self-Falsifier Lenses\n- **L1**: il perimetro e atomico: `TQGE+R+S+U+V` con esterni tipizzati e count-preserving null.\n- **L2**: i conteggi K7/K8 non vengono confrontati con sampled; sostituiscono il sampled.\n- **L3**: la riparazione vive nel nodo regressivo del denominatore, non nel risultato del report 2203.\n- **L4**: il contro-polo resta aperto per esterni non tipizzati, multi-modo o deposito duplicato.\n- **L5**: classificazione interna del catalogo D-ND; nessuna discovery fisica nuova.\n\n## Files\n- `tools/exp_blank_shell_stratified_gate.py`\n- `tools/data/blank_shell_stratified_gate_20260507_2310.json`\n- `tools/data/reports/agent_20260507_2310.md`\n",
tools/data/lab_graph.json:1220:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1258:      "content_preview": "# Agent Report — Blank Shell Scale Law\n**Date**: 2026-05-07 22:03\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S+U+V, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale ",
tools/data/lab_graph.json:1259:      "content_full": "# Agent Report — Blank Shell Scale Law\n**Date**: 2026-05-07 22:03\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S+U+V, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nLa dilatazione del guscio blank e una legge di scala del perimetro, oppure R e S erano casi locali che non trasferiscono quando entrano altri vertici esterni tipizzati?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_scale_law.py`\n- Scope: catena completa `TQGE -> TQGE+R -> TQGE+R+S -> TQGE+R+S+U -> TQGE+R+S+U+V`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1957.md`, `tools/data/reports/agent_20260507_2120.md`, `tools/data/reports/agent_20260507_2157.md`.\n- Inferenze dichiarate: U e V sono vertici esterni controllati, usati solo per testare la legge dopo R e S; ogni esterno porta un modo operatorio su tutti i lati verso il perimetro precedente.\n- Metrica: facce incidenti al lato `blank`; deposito `blank + gauge_phase + real_sourcing`; faccia inerte `blank + wick_time + wick_time`; facce esterne come coppie tipizzate.\n- Null baseline: conteggio exact count-preserving fino a K6; audit sampled count-preserving da 50,000 permutazioni per K7 e K8. Il campione K7/K8 e controllo di attrito, non prova di rarita.\n\n## Results\n| Perimetro | Facce shell | Deposito | Facce esterne osservate | Null law count |\n|---|---:|---|---|---:|\n| TQGE | 2 | QGE | [] | 2/120 = 0.016667 exact |\n| TQGE+R | 3 | QGE | QGR: frame_pair | 6/25,200 = 0.000238 exact |\n| TQGE+R+S | 4 | QGE | QGR: frame_pair; QGS: scale_pair | 120/75,675,600 = 0.00000159 exact |\n| TQGE+R+S+U | 5 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair | 0/50,000 sampled |\n| TQGE+R+S+U+V | 6 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair; QGV: observer_pair | 0/50,000 sampled |\n\nAudit deposito sul blank nel null:\n\n| Perimetro | Null mode | Qualunque deposito sul blank |\n|---|---|---:|\n| TQGE | exact | 0.200000 |\n| TQGE+R | exact | 0.083333 |\n| TQGE+R+S | exact | 0.043956 |\n| TQGE+R+S+U | sampled | 0.026440 |\n| TQGE+R+S+U+V | sampled | 0.017740 |\n\n## Key Findings\n1. **Il deposito resta QGE lungo la catena osservata.** Nei perimetri TQGE, TQGE+R, TQGE+R+S, TQGE+R+S+U e TQGE+R+S+U+V, la faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **La legge osservata e `facce shell = 2 + n_esterni`.** Il guscio blank ha 2 facce in TQGE, 3 con R, 4 con S, 5 con U, 6 con V. Ogni esterno controllato aggiunge una faccia `QGx` del proprio tipo e non sostituisce il deposito.\n3. **Il denominatore esatto si chiude fino a S.** La legge completa compare nel null esatto con conteggio decrescente da 2/120 a 120/75,675,600. Per U e V il cycle produce audit campionario con zero hit su 50,000, non conteggio esatto.\n4. **Il nodo regressivo non e la rarita.** La parte strutturale e la non-migrazione del deposito insieme alla crescita del guscio; i conteggi null impediscono tautologia, ma non diventano claim universale.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_DILATION_GATE**: nel perimetro operator-taxonomy controllato `TQGE + esterni tipizzati`, la legge di scala osservata del guscio blank e `shell_faces(QG) = 2 + n_esterni`, con deposito invariato `QGE`. Il denominatore exact count-preserving e verificato fino a `TQGE+R+S`; oltre S il risultato resta trasferimento osservato con audit sampled, non chiusura combinatoria.\n\n## Bicono della scoperta\n- **Due radici**: deposito QGE invariato · estensione tipizzata QGx.\n- **Singolare**: QG come lato blank che riceve facce esterne senza diventare ponte generico.\n- **Invariante di passaggio**: `blank + gauge_phase + real_sourcing` resta la sola forma depositante osservata nella catena.\n- **Campo di possibilita**: qui diventa possibile trattare la dilatazione come legge di perimetro controllata; qui diventa non-possibile usare K7/K8 per un claim di rarita senza conteggio esatto o campionamento stratificato piu forte.\n\n## Self-Falsifier Lenses\n- **L1**: il claim dichiara perimetro e tipo di null; K7/K8 sono audit sampled, non exact.\n- **L2**: i conteggi exact non sono confrontati con i sampled come stesso denominatore.\n- **L3**: il limite computazionale non viene mascherato; entra nel verdict.\n- **L4**: il contro-polo resta aperto: un esterno non tipizzato o multi-modo puo far migrare o duplicare il deposito.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non discovery fisica nuova.\n\n## Files\n- `tools/exp_blank_shell_scale_law.py`\n- `tools/data/blank_shell_scale_law_20260507_2203.json`\n- `tools/data/reports/agent_20260507_2203.md`\n",
tools/data/lab_graph.json:1265:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1303:      "content_preview": "# Agent Report — Blank Shell Dilation Gate\n**Date**: 2026-05-07 21:57\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale ",
tools/data/lab_graph.json:1304:      "content_full": "# Agent Report — Blank Shell Dilation Gate\n**Date**: 2026-05-07 21:57\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R+S, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE+R+S operator-taxonomy, un secondo vertice esterno sposta il deposito QGE oppure dilata ancora il guscio blank nato su QG?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_dilation_gate.py`\n- Scope: grafo completo K6 su T,Q,G,E,R,S. Il perimetro conserva i modi `3 wick_time + 4 frame_link + 5 scale_link + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_2120.md`, `tools/build_lab_graph.py`.\n- Inferenza dichiarata: S entra come `scale_link`, perche il perimetro TQGE+R+S e presente nel grafo lab e S viene usato qui solo come portatore controllato di scala.\n- Metrica: facce incidenti al lato `blank`; classi `inert_wick_pair`, `deposit_gauge_real`, `frame_pair`, `scale_pair`, e classi miste.\n- Null baseline: 75,675,600 assegnazioni count-preserving dei quindici modi sui quindici lati K6, contate esattamente con pesi combinatori sul guscio.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | 5,045,040/75,675,600 = 0.0667 |\n| Qualunque faccia deposito sul blank | si | 3,326,400/75,675,600 = 0.0440 |\n| Guscio `deposit + inert + frame + scale` | si | 43,200/75,675,600 = 0.000571 |\n| Assetto osservato `QG` blank, `QGE` deposito, `TQG` inerte, `QGR` frame, `QGS` scala | si | 120/75,675,600 = 0.00000159 |\n| Nessuna faccia deposito sul blank | no | 72,349,200/75,675,600 = 0.9560 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n| QGR | frame_link + frame_link | frame_pair |\n| QGS | scale_link + scale_link | scale_pair |\n\nPattern rilevanti del null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + frame_pair + inert_wick_pair + scale_pair | 43,200/75,675,600 |\n| deposit_gauge_real + frame_pair + frame_pair + scale_pair | 7,200/75,675,600 |\n| deposit_gauge_real + frame_pair + frame_scale + scale_pair | 86,400/75,675,600 |\n| frame_scale + frame_wick + scale_pair + scale_wick | 1,036,800/75,675,600 |\n\n## Key Findings\n1. **Il deposito non migra quando entra S.** Nel perimetro TQGE+R+S, la faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **Il guscio blank dilata di una faccia.** TQGE aveva due facce incidenti al blank; TQGE+R ne aveva tre; TQGE+R+S ne ha quattro. La nuova faccia e `QGS = blank + scale_link + scale_link`.\n3. **Il gate e scala-del-guscio, non rarita universale.** Il pattern completo osservato compare in 120/75,675,600 null. Questo conteggio controlla il denominatore; il claim valido e che il deposito resta localizzato mentre il blank acquisisce una faccia per ogni vertice esterno tipizzato.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_TQGER_GATE**: nel perimetro TQGE+R+S operator-taxonomy, il denominatore regressivo del deposito resta QGE. La dilatazione esterna non trasforma frame o scala in deposito; aggiunge una faccia non-depositante al guscio blank. Il blank QG e quadrifacciale: TQG inerte, QGE depositante, QGR frame, QGS scala.\n\n## Bicono della scoperta\n- **Due radici**: deposito invariato QGE · dilatazione esterna QGR/QGS\n- **Singolare**: QG come lato blank che riceve le estensioni del perimetro senza diventare ponte generico.\n- **Invariante di passaggio**: il deposito richiede `blank + gauge_phase + real_sourcing`; frame e scala non sostituiscono gauge o source.\n- **Campo di possibilita**: qui diventa possibile formulare una legge di scala del guscio blank: ogni vertice esterno tipizzato aggiunge una faccia al blank senza muovere QGE; qui diventa non-possibile trattare R come caso speciale sufficiente della dilatazione.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"sempre\", \"mai\", \"zero\" o \"unico\" fuori perimetro. \"Resta QGE\" vale per il catalogo osservato TQGE+R+S.\n- **L2**: i confronti usano conteggi grezzi nello stesso spazio di 75,675,600 assegnazioni, non percentuali fra spazi diversi.\n- **L3**: il claim TQGE+R non viene salvato cambiando definizione. Il nuovo perimetro aggiunge S e dichiara l'inferenza `scale_link`.\n- **L4**: gli edge case sono espliciti: 72,349,200/75,675,600 assegnazioni non hanno faccia deposito sul blank.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non scoperta fisica nuova su scala, relativita o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_dilation_gate.py`\n- `tools/data/blank_shell_dilation_gate_20260507_2157.json`\n- `tools/data/reports/agent_20260507_2157.md`\n",
tools/data/lab_graph.json:1310:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1348:      "content_preview": "# Agent Report — Blank Shell TQGER Gate\n**Date**: 2026-05-07 21:20\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che l",
tools/data/lab_graph.json:1349:      "content_full": "# Agent Report — Blank Shell TQGER Gate\n**Date**: 2026-05-07 21:20\n**Piano**: 85\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE+R, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE+R operator-taxonomy, la polarita del guscio blank TQG/QGE sopravvive quando entra R, oppure R sposta il denominatore regressivo del deposito?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_tqger_gate.py`\n- Scope: grafo completo K5 su T,Q,G,E,R. Il perimetro conserva i modi `3 wick_time + 4 frame_link + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_incrocio.py`, `tools/data/reports/agent_20260507_1957.md`.\n- Inferenza dichiarata: i lati incidenti a R sono `frame_link`, perche R e il frame connesso a tutti ma senza perno i.\n- Metrica: facce incidenti al lato `blank`; classi `inert_wick_pair`, `deposit_gauge_real`, `frame_pair`, e classi miste.\n- Null baseline: 25,200 permutazioni count-preserving dei dieci modi sui dieci lati K5.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | 2,520/25,200 = 0.1000 |\n| Guscio `deposit + inert + frame` | si | 360/25,200 = 0.0143 |\n| Assetto osservato `QG` blank, `QGE` deposito, `TQG` inerte, `QGR` frame | si | 6/25,200 = 0.000238 |\n| Faccia deposito specifica `QGE` | si | 210/25,200 = 0.00833 |\n| Nessuna faccia deposito sul blank | no | 23,100/25,200 = 0.9167 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n| QGR | frame_link + frame_link | frame_pair |\n\nPattern piu rilevanti del null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + frame_pair + inert_wick_pair | 360/25,200 |\n| deposit_gauge_real + frame_pair + frame_wick | 720/25,200 |\n| frame_wick + frame_wick + frame_wick | 480/25,200 |\n| frame_pair + frame_wick + source_without_gauge | 1,440/25,200 |\n| frame_gauge + frame_wick + source_without_gauge | 1,440/25,200 |\n\n## Key Findings\n1. **R non sposta il deposito QGE nel perimetro TQGE+R.** La faccia depositante resta `QGE = blank + gauge_phase + real_sourcing`.\n2. **R rompe il framing binario del guscio blank.** Nel tetraedro TQGE il blank apre due facce; in K5 apre tre facce. La nuova faccia e `QGR = blank + frame_link + frame_link`.\n3. **Il claim valido e dilatazione di guscio, non rarita universale.** Il pattern `deposit + inert + frame` compare in 360/25,200 null. L'assetto completo osservato compare in 6/25,200, ma il numero serve come controllo anti-tautologico, non come discovery fisica.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_SHELL_POLARITY_GATE**: nel perimetro TQGE+R operator-taxonomy, la polarita TQG/QGE sopravvive ma non resta completa. R aggiunge una terza faccia `QGR` al guscio blank. Il denominatore regressivo del deposito resta QGE; il denominatore regressivo del blank diventa tri-facciale: TQG inerte, QGE depositante, QGR frame.\n\n## Bicono della scoperta\n- **Due radici**: polarita TQG/QGE del tetraedro TQGE · dilatazione QGR quando entra R\n- **Singolare**: QG come lato blank che non decide il deposito da solo; nel perimetro esteso diventa bordo comune di inerzia, deposito e frame.\n- **Invariante di passaggio**: il deposito richiede `blank + gauge_phase + real_sourcing`; R non sostituisce gauge o source.\n- **Campo di possibilita**: qui diventa possibile testare se ogni nuovo vertice esterno aggiunge una faccia di shell senza muovere il deposito; qui diventa non-possibile formulare il guscio blank come oggetto binario oltre TQGE.\n\n## Self-Falsifier Lenses\n- **L1**: non uso \"sempre\", \"mai\", \"zero\" o \"unico\" fuori perimetro. Il null contiene pattern alternativi e molti casi senza deposito.\n- **L2**: i confronti sono conteggi grezzi nello stesso spazio di 25,200 assegnazioni, non percentuali fra spazi diversi.\n- **L3**: il claim precedente non viene salvato con definizione cambiata. Il gate TQGE resta valido nel suo perimetro; TQGE+R lo estende a shell tri-facciale.\n- **L4**: gli edge case sono espliciti: 23,100/25,200 assegnazioni non hanno faccia deposito sul blank.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non scoperta fisica nuova su relativita, gauge o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_tqger_gate.py`\n- `tools/data/blank_shell_tqger_gate_20260507_2120.json`\n- `tools/data/reports/agent_20260507_2120.md`\n",
tools/data/lab_graph.json:1355:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1444:      "content_preview": "# Agent Report — Blank Shell Polarity Gate\n**Date**: 2026-05-07 19:57\n**Piano**: 83\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che ",
tools/data/lab_graph.json:1445:      "content_full": "# Agent Report — Blank Shell Polarity Gate\n**Date**: 2026-05-07 19:57\n**Piano**: 83\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE operator-taxonomy, il denominatore QGE e solo faccia triadica isolata, o il blank QG ha un guscio polarizzato: una faccia inerte `blank + wick_time + wick_time` e una faccia di deposito `blank + gauge_phase + real_sourcing`?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_shell_polarity_gate.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1938.md`, `tools/data/triadic_deposit_gate_20260507_1938.json`.\n- Metrica: le due facce incidenti al lato `blank`; classificazione del lato non-blank di ciascuna faccia in `inert_wick_pair`, `deposit_gauge_real`, `source_without_gauge`, `gauge_without_source`.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Lato blank | GQ | p(blank edge = GQ)=0.1667 |\n| Guscio blank polarizzato `deposit_gauge_real + inert_wick_pair` | si | 24/120 = 0.2000 |\n| Assetto osservato `QGE` deposito + `TQG` inerte | si | 2/120 = 0.0167 |\n\nFacce del guscio blank osservato:\n\n| Faccia | Modi non-blank | Classe |\n|---|---|---|\n| TQG | wick_time + wick_time | inert_wick_pair |\n| QGE | gauge_phase + real_sourcing | deposit_gauge_real |\n\nPattern nel null:\n\n| Pattern guscio blank | Conteggio |\n|---|---:|\n| deposit_gauge_real + inert_wick_pair | 24/120 |\n| gauge_without_source + inert_wick_pair | 24/120 |\n| inert_wick_pair + source_without_gauge | 24/120 |\n| gauge_without_source + source_without_gauge | 48/120 |\n\n## Key Findings\n1. **Il blank QG ha un guscio polarizzato nel catalogo TQGE osservato.** Le due facce incidenti al blank non sono equivalenti: TQG e lato inerte `blank + wick_time + wick_time`; QGE e lato di deposito `blank + gauge_phase + real_sourcing`.\n2. **La polarizzazione del guscio non e rara come forma astratta.** Nel null count-preserving, il pattern `deposit_gauge_real + inert_wick_pair` appare in 24/120 assegnazioni. Il claim valido non e rarita universale della polarizzazione.\n3. **La localizzazione QG/QGE/TQG e piu stretta della sola polarizzazione.** L'assetto osservato in cui il blank e GQ, la faccia deposito e QGE, e la faccia inerte e TQG appare in 2/120 assegnazioni. Il denominatore non vive nel lato QG isolato: vive nella polarita delle due facce che quel lato apre.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_TRIADIC_DEPOSIT_GATE**: nel perimetro TQGE operator-taxonomy, il deposito Q->G va formulato come polarita del guscio blank. QG non e ponte generico; e lato comune tra TQG inerte e QGE depositante. Il gate triadico QGE resta il lato attivo del deposito, ma il nodo regressivo e il guscio a due facce del blank, non la faccia QGE isolata.\n\n## Bicono della scoperta\n- **Due radici**: TQG inerte `blank + wick_time + wick_time` · QGE depositante `blank + gauge_phase + real_sourcing`\n- **Singolare**: QG come lato comune dove il blank non decide da solo; apre due facce e la loro differenza determina il passaggio.\n- **Invariante di passaggio**: il deposito richiede il blank condiviso con una faccia gauge-source mentre l'altra faccia resta wick-wick.\n- **Campo di possibilita**: qui diventa possibile misurare G come polarita locale di guscio nei perimetri TQGE+R; qui diventa non-possibile trattare QGE come denominatore completo senza dichiarare la faccia inerte TQG che lo polarizza.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"zero\", \"sempre\" o \"impossibile\" fuori perimetro. Il null mostra polarizzazioni alternative e pattern non polarizzati.\n- **L2**: confronto espresso in conteggi grezzi e probabilita sullo stesso spazio di 120 assegnazioni.\n- **L3**: il claim precedente non viene salvato cambiando definizione; viene ristretto al nodo regressivo del guscio blank.\n- **L4**: i contro-pattern del null sono espliciti: `gauge_without_source + source_without_gauge` domina con 48/120.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gauge, sorgente o gravitazione.\n\n## Files\n- `tools/exp_blank_shell_polarity_gate.py`\n- `tools/data/blank_shell_polarity_gate_20260507_1957.json`\n- `tools/data/reports/agent_20260507_1957.md`\n",
tools/data/lab_graph.json:1451:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1489:      "content_preview": "# Agent Report — Triadic Deposit Gate\n**Date**: 2026-05-07 19:38\n**Piano**: 80\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le re",
tools/data/lab_graph.json:1490:      "content_full": "# Agent Report — Triadic Deposit Gate\n**Date**: 2026-05-07 19:38\n**Piano**: 80\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel perimetro TQGE operator-taxonomy, il deposito Q->G richiede solo contatto `blank + real_sourcing`, o richiede la faccia completa `blank + gauge_phase + real_sourcing`?\n\n## Experiment Design\n- Strumento: `tools/exp_triadic_deposit_gate.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/reports/agent_20260507_1804.md`, `tools/evolution_report.md`.\n- Metrica: facce triadiche con `blank + gauge_phase + real_sourcing`; facce binarie con `blank + real_sourcing`; facce contro-perimetro `blank` senza sorgente, sorgente senza `blank`, gauge senza deposito.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Faccia triadica `blank + gauge_phase + real_sourcing` | QGE | p(any)=0.2000; p(QGE)=0.0500 |\n| Faccia binaria `blank + real_sourcing` | QGE | p(any)=0.8000; p(QGE)=0.2000 |\n| Faccia con blank senza sorgente | TQG | - |\n| Faccia con sorgente senza blank | TGE | - |\n| Faccia con gauge senza deposito | TQE | - |\n\nFacce osservate:\n\n| Faccia | Modi | Stato |\n|---|---|---|\n| QGE | blank + gauge_phase + real_sourcing | deposito triadico |\n| TQG | blank + wick_time + wick_time | blank senza sorgente |\n| TGE | real_sourcing + wick_time + wick_time | sorgente senza blank |\n| TQE | gauge_phase + wick_time + wick_time | gauge senza deposito |\n\nPattern nel null:\n\n| Pattern | Conteggio |\n|---|---:|\n| triadic face QGE | 6/120 |\n| triadic face TQG | 6/120 |\n| triadic face TQE | 6/120 |\n| triadic face TGE | 6/120 |\n| no triadic face | 96/120 |\n| binary blank-source on any face | 96/120 |\n| no binary blank-source face | 24/120 |\n\n## Key Findings\n1. **Il deposito QGE ha denominatore triadico.** Nel catalogo TQGE osservato, la faccia viva non contiene solo `blank + real_sourcing`: contiene anche `gauge_phase`. Il denominatore misurato e `blank + gauge_phase + real_sourcing`.\n2. **Il contatto binario e debole come gate.** Nel null count-preserving, una faccia `blank + real_sourcing` appare in 0.8000 delle assegnazioni; la faccia triadica appare in 0.2000. Il passaggio utile non e l'adiacenza, ma la chiusura del terzo lato.\n3. **Le tre facce escluse separano i ruoli.** TQG porta il blank senza sorgente; TGE porta la sorgente senza blank; TQE porta gauge senza deposito. QGE e il solo punto del catalogo osservato dove i tre ruoli sono nella stessa faccia.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_BLANK_TO_SOURCE_FACE_GATE**: nel perimetro TQGE operator-taxonomy, l'operatore di deposito Q->G va formulato come gate triadico di faccia. Il ponte QG isolato non basta; il contatto `blank + real_sourcing` non basta; il deposito osservato e QGE come `blank + gauge_phase + real_sourcing`. Il claim non e rarita universale: e localizzazione del denominatore nel catalogo TQGE osservato.\n\n## Bicono della scoperta\n- **Due radici**: contatto binario `blank + real_sourcing` · chiusura triadica `blank + gauge_phase + real_sourcing`\n- **Singolare**: QGE come faccia in cui il vuoto QG diventa depositabile perche passa attraverso gauge e sorgente.\n- **Invariante di passaggio**: il blank puo contaminare una faccia senza deposito; il deposito passa solo quando blank, gauge e source coabitano la stessa faccia.\n- **Campo di possibilita**: qui diventa possibile cercare gate di deposito come unita di faccia nei perimetri TQGE+R; qui diventa non-possibile usare l'adiacenza blank-source come denominatore sufficiente.\n\n## Self-Falsifier Lenses\n- **L1**: nessun assoluto fuori perimetro. \"Solo\" e usato per il catalogo osservato TQGE; il null mostra altre facce triadiche possibili per permutazione.\n- **L2**: confronto espresso in conteggi e probabilita sullo stesso spazio di 120 assegnazioni.\n- **L3**: il claim precedente viene ristretto al nodo regressivo corretto: denominatore di faccia, non ponte QG e non vertice G globale.\n- **L4**: TQG, TGE e TQE sono contro-perimetri espliciti ai singoli componenti del gate.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gravita, gauge o sorgenti reali.\n\n## Files\n- `tools/exp_triadic_deposit_gate.py`\n- `tools/data/triadic_deposit_gate_20260507_1938.json`\n- `tools/data/reports/agent_20260507_1938.md`\n",
tools/data/lab_graph.json:1496:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1534:      "content_preview": "# Agent Report — Blank To Source Hinge\n**Date**: 2026-05-07 18:04\n**Piano**: 79\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le r",
tools/data/lab_graph.json:1535:      "content_full": "# Agent Report — Blank To Source Hinge\n**Date**: 2026-05-07 18:04\n**Piano**: 79\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] - tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nSe QG e blank e GE e real_sourcing, l'operatore di deposito Q->G e un ponte QG generico o una faccia specifica del tetraedro?\n\n## Experiment Design\n- Strumento: `tools/exp_blank_to_source_hinge.py`\n- Scope: sei lati TQGE con tassonomia `3 wick_time + 1 gauge_phase + 1 real_sourcing + 1 blank`.\n- Fonti verificate: `tools/LAB_AGENT_CONTEXT.md`, `tools/data/lab_riflessi.json`, `tools/data/reports/agent_20260507_1751.md`.\n- Metrica: lato blank; lato real_sourcing; endpoint del blank con sorgente; passaggio diretto endpoint-senza-sorgente -> endpoint-con-sorgente; facce con `blank + real_sourcing`; facce blank escluse.\n- Null baseline: 120 permutazioni count-preserving dei sei modi sui sei lati TQGE.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Blank edge | GQ | p(GQ)=0.1667 |\n| Real sourcing edge | EG | p(EG)=0.1667 |\n| Blank adiacente al real_sourcing | true | p=0.8000 |\n| Passaggio diretto blank-endpoint senza sorgente -> con sorgente | Q->G | p(any)=0.8000; p(Q->G)=0.0667 |\n| Pattern esatto QG blank + GE real_sourcing + Q->G | true | p=0.0333 |\n| Faccia di deposito | QGE | 24/120 per ogni faccia; 24/120 none |\n| Faccia blank esclusa | TQG | - |\n\nEndpoint del blank:\n\n| Endpoint | Lati nonblank incidenti | Modi incidenti | Ruolo |\n|---|---|---|---|\n| Q | EQ, QT | gauge_phase, wick_time | non-source |\n| G | EG, GT | real_sourcing, wick_time | source |\n\nFacce:\n\n| Faccia | Modi | Stato |\n|---|---|---|\n| QGE | blank + gauge_phase + real_sourcing | deposito |\n| TQG | blank + wick_time + wick_time | vuoto senza sorgente |\n| TGE | real_sourcing + wick_time + wick_time | sorgente senza blank |\n| TQE | gauge_phase + wick_time + wick_time | ponte senza blank/source |\n\n## Key Findings\n1. **Q->G e orientabile solo come passaggio locale del lato blank.** Nel perimetro TQGE, Q e l'endpoint senza real_sourcing del blank; G e l'endpoint con real_sourcing. Il passaggio misurato e Q->G.\n2. **L'orientabilita blank-to-source non e rara nel null.** Un lato blank adiacente a un lato real_sourcing appare in 0.8000 delle assegnazioni count-preserving. Quindi il claim forte non e \"blank-to-source esiste\"; il claim valido e \"nel catalogo TQGE osservato, il blank-to-source cade su Q->G\".\n3. **Il deposito vive nella faccia QGE, non nel ponte QG.** QGE contiene `blank + gauge_phase + real_sourcing`; TQG contiene lo stesso blank ma nessuna sorgente. Il vuoto QG non basta: serve il terzo vertice E come sorgente reale agganciata a G.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA / G_UNDERLAY_HINGE_GATE**: nel perimetro TQGE operator-taxonomy, l'operatore di deposito Q->G non e un ponte QG generico. E una faccia triadica QGE: QG fornisce il blank, GE fornisce il sourcing reale, QE fornisce il lato gauge_phase. La faccia TQG e il contro-perimetro nativo: contiene QG blank ma resta senza deposito.\n\n## Bicono della scoperta\n- **Due radici**: QG blank senza sorgente · GE real_sourcing agganciato a G\n- **Singolare**: la faccia QGE, dove vuoto quantistico-gravitazionale, fase gauge e sorgente reale stanno nello stesso triangolo.\n- **Invariante di passaggio**: il blank contamina due facce, ma il deposito passa solo nella faccia che contiene real_sourcing.\n- **Campo di possibilita**: qui diventa possibile testare Q->G come operatore triadico `blank + gauge + source`; qui diventa non-possibile cercare un ponte QG isolato senza il terzo vertice.\n\n## Self-Falsifier Lenses\n- **L1**: nessun \"zero/sempre\" fuori perimetro. \"Senza deposito\" su TQG significa assenza esatta di `real_sourcing` in quella faccia nel catalogo osservato.\n- **L2**: il risultato riporta conteggi/probabilita del null; l'orientabilita generica p=0.8000 non viene trasformata in rarita.\n- **L3**: il claim precedente non viene salvato come underlay globale. Il nodo regressivo e il denominatore relazionale: faccia QGE, non vertice G.\n- **L4**: TQG e dichiarata come contro-perimetro della propagazione del blank.\n- **L5**: classificazione interna del catalogo D-ND; non e discovery fisica nuova su gravita quantistica.\n\n## Files\n- `tools/exp_blank_to_source_hinge.py`\n- `tools/data/blank_to_source_hinge_20260507_1804.json`\n- `tools/data/reports/agent_20260507_1804.md`\n",
tools/data/lab_graph.json:1541:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1579:      "content_preview": "# Agent Report — TQGE Underlay Gate\n**Date**: 2026-05-07 17:51\n**Piano**: 78\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] — tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rend",
tools/data/lab_graph.json:1580:      "content_full": "# Agent Report — TQGE Underlay Gate\n**Date**: 2026-05-07 17:51\n**Piano**: 78\n**Tension explored**: G_POTENZIALE_NULLA (0.85)\n**observables_registry**: 1.0.0-2026-05-06\n**observables_used**: [] — tassonomia operatori TQGE, nessun osservabile canonico SR/SR2/L1/L2/triple_var\n\n## Claim Under Test\n> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.\n\n## Question\nNel tetraedro TQGE, G ha una firma operativa distinta dai vertici ordinari quando i sei lati sono classificati per tipo di operatore: Wick-tempo, fase-gauge, sourcing reale, blank?\n\n## Experiment Design\n- Strumento: `tools/exp_tqge_underlay_gate.py`\n- Scope: sei lati TQGE depositati nel contesto Lab.\n- Fonte verificata: `tools/LAB_AGENT_CONTEXT.md` per lati e vuoto QxG; `tools/data/lab_riflessi.json` per tassonomia operatori 3 Wick + 1 fase + 1 reale + 1 vuoto.\n- Metrica: profilo dei modi incidenti per vertice; entropia dei modi; presenza congiunta `blank + real_sourcing`; triangoli contaminati dal lato blank.\n- Null baseline: 120 assegnazioni che preservano i conteggi dei sei modi sui sei lati.\n\n## Results\n| Test | Osservato | Null count-preserving |\n|---|---:|---:|\n| Vertici a massima entropia di modo | Q, G, E | pattern distribuiti su tutti i vertici |\n| G unico massimo entropico | false | — |\n| Vertici con `blank + real_sourcing` | G | p(G)=0.200 |\n| Qualunque vertice con `blank + real_sourcing` | true | p=0.800 |\n| Triangoli vuoti | TQG, QGE | — |\n| Tutti i triangoli vuoti includono G | true | p=0.500 |\n| Blank sul lato QG | true | p=0.1667 |\n\nProfili incidenti:\n\n| Vertice | Modi incidenti | Entropia bits | blank | real_sourcing |\n|---|---|---:|---:|---:|\n| T | wick_time x3 | 0.000000 | false | false |\n| Q | blank, gauge_phase, wick_time | 1.584963 | true | false |\n| G | blank, real_sourcing, wick_time | 1.584963 | true | true |\n| E | gauge_phase, real_sourcing, wick_time | 1.584963 | false | true |\n\n## Key Findings\n1. **G non e il vertice unico della diversita operatoria.** Q, G ed E hanno tutti tre modi incidenti distinti. Il claim \"G sotto tutto\" non passa come centralita entropica locale.\n2. **G e il solo hinge `blank + real_sourcing` nel perimetro TQGE.** Il vuoto QG e il sourcing reale GE si incontrano solo in G. Questo dato e verificato nel catalogo dei lati; il null mostra che la congiunzione non e rara in astratto, quindi il contenuto non e \"unicita statistica\", ma localizzazione del nodo regressivo.\n3. **Il vuoto propaga per facce, non per tutto il tetraedro.** I triangoli TQG e QGE sono vuoti perche contengono QG; TGE e TQE restano pieni. G non rende possibili tutti i ponti: porta il punto dove il vuoto QG tocca il sourcing reale GE.\n\n## Verdict\n**CONSTRAINT on G_POTENZIALE_NULLA**: nel perimetro TQGE operator-taxonomy, G non va formulato come vertice globale \"sotto tutto\". G e il hinge locale tra QG blank e GE real_sourcing. La consecutio non e cercare un ponte QG generico; e misurare l'operatore di deposito che trasforma un blank quantistico-gravitazionale in sourcing reale.\n\n## Bicono della scoperta\n- **Due radici**: QG blank · GE real_sourcing\n- **Singolare**: G come punto in cui assenza di operatore e sorgente reale condividono lo stesso vertice.\n- **Invariante di passaggio**: la contaminazione del vuoto passa alle facce che contengono QG; non passa alle facce senza QG.\n- **Campo di possibilita**: qui diventa possibile cercare l'operatore di deposito Q->G come passaggio blank-to-source; qui diventa non-possibile trattare G come prova globale di underlay su tutti i lati TQGE.\n\n## Self-Falsifier Lenses\n- **L1**: nessun assoluto \"sempre/mai\" fuori perimetro; \"solo\" e usato per il dato esatto `blank + real_sourcing` nel catalogo osservato.\n- **L2**: confronto riportato in conteggi e probabilita null, non in percentuali fra spazi diversi.\n- **L3**: il claim originale non viene salvato; viene ristretto al nodo regressivo G come hinge locale.\n- **L4**: TGE e TQE sono contro-perimetro esplicito alla propagazione totale del vuoto.\n- **L5**: il risultato e classificazione interna del catalogo D-ND, non discovery fisica nuova.\n\n## Files\n- `tools/exp_tqge_underlay_gate.py`\n- `tools/data/tqge_underlay_gate_20260507_1751.json`\n- `tools/data/reports/agent_20260507_1751.md`\n",
tools/data/lab_graph.json:1586:          "text": "> G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non "
tools/data/lab_graph.json:1838:      "content_full": "# Agent Report - Denominator Gate Transfers, Boundary Coordinate Does Not\n**Date**: 2026-05-07 08:03  \n**Piano**: 69  \n**Category**: gate_transferability  \n**Tension explored**: META + DUALITA_DIPOLARE_VS_ILLUSORIA  \n**verdict**: operator  \nobservables_registry: 1.0.0-2026-05-06  \nobservables_used: [SR, SR2, L1, L2, triple_var]\n\n## Claim Under Test\nThe operator directive asked whether the `BOUNDARY_LAYER_GATE` forged on the\nGUE/Poisson boundary is a transferable operator or only a local metric.\n\nConcrete test:\n\n> Apply the denominator-collapse gate to the discrimination between dipolar\n> duality and illusory duality. If the gate distinguishes structural generation\n> from incoherent dispersion, it is an operator. If it only emits syntactically\n> valid but empty layer maps, it is a BOUNDARY-local metric.\n\n## Experiment\nTool created: `tools/exp_duality_gate_transfer.py`\n\nAtomic perimeter:\n- DIPOLARE: coherent golden Beatty gaps generated by `floor((n+phase)*phi)`;\n- ILLUSORIA: a random permutation of the same gaps, preserving one-point\n  distribution and first moment but removing the generating order;\n- beta layer: replace a beta fraction of dipolar positions with values from\n  the illusory permutation;\n- main run: 4,096 gaps, 24 replicates, 11 beta layers, 40 shuffle baselines;\n- seed check: 3,072 gaps, 16 replicates, 11 beta layers, 32 shuffle baselines;\n- denominator gate: observable stable when `abs(z original-vs-shuffle) >= 2`;\n- classification: standardized distance to beta 0.0 and beta 1.0 centroids\n  using all five canonical observables.\n\nThis is not a new BOUNDARY experiment. GUE and Poisson do not appear in the\ngenerator. The only transferred object is the denominator gate.\n\n## Results\n\n### Main Run\n\nEndpoint separation using all canonical observables: `3.436` standardized units.  \nEndpoint-stable observables at frequency >= 0.75 across both endpoints: `[]`.\n\n| beta | stable obs / 5 | margin | ambiguous fraction | illusory-label fraction |\n|---:|---:|---:|---:|---:|\n| 0.0 | 3.000 | 0.971 | 0.000 | 0.000 |\n| 0.1 | 3.000 | 0.479 | 0.000 | 0.000 |\n| 0.2 | 3.000 | 0.234 | 0.125 | 0.000 |\n| 0.3 | 3.000 | 0.033 | 1.000 | 0.375 |\n| 0.4 | 3.083 | 0.154 | 0.417 | 0.958 |\n| 0.5 | 3.083 | 0.269 | 0.375 | 1.000 |\n| 0.6 | 3.000 | 0.417 | 0.042 | 1.000 |\n| 0.7 | 2.917 | 0.316 | 0.167 | 1.000 |\n| 0.8 | 1.708 | 0.473 | 0.125 | 1.000 |\n| 0.9 | 0.167 | 0.463 | 0.042 | 1.000 |\n| 1.0 | 0.208 | 0.442 | 0.042 | 1.000 |\n\nObservable stability frequencies:\n- beta 0.0: `SR=1.00`, `L1=1.00`, `triple_var=1.00`; `SR2=0.00`, `L2=0.00`;\n- beta 0.3: same stable trio, with mean z approximately `SR=-19.4`, `L1=-19.4`, `triple_var=-17.6`;\n- beta 0.8: stable trio falls to frequency `0.54` each, mean z around `-1.7` to `-1.9`;\n- beta 0.9: all canonical observables are weak or near weak, mean z around `-0.4..+0.2`;\n- beta 1.0: all canonical observables are weak, mean z around `+0.1..+0.2`.\n\n### Seed Check\n\nThe seed check repeated the same structure:\n- endpoint-stable observables: `[]`;\n- all-observable endpoint distance: `3.412`;\n- ambiguous beta: `[0.3]`;\n- beta 0.0 stable count: `3.000`;\n- beta 0.3 stable count: `3.000`, ambiguous fraction `1.000`;\n- beta 0.8 stable count: `1.062`;\n- beta 0.9 stable count: `0.000`;\n- beta 1.0 stable count: `0.438`.\n\n## Findings\n\n1. **The gate does not degenerate on DUALITA.** The dipolar endpoint has three\nstable canonical observables with large original-vs-shuffle denominators\n(`SR`, `L1`, `triple_var`, mean abs z about `36-41` in the main run). The\nillusory endpoint has no stable denominator support. This is a structural\noriginal-vs-shuffle distinction, not an empty syntactic map.\n\n2. **The BOUNDARY layer coordinate does not transfer unchanged.** In the\nGUE/Poisson run, beta 0.3-0.4 carried both classification ambiguity and\ndenominator collapse. Here, beta 0.3 is classification-ambiguous, but the\ndenominator support is still strong: stable count remains `3.000/5`.\nDenominator collapse arrives later, around beta 0.8-0.9. Therefore the\noperator transfers, but the specific BOUNDARY layer shape is local.\n\n3. **Endpoint-gated classification remains empty for the same structural\nreason as BOUNDARY.** The endpoint-stable set is empty because the illusory\npole is denominator-weak. This does not erase the discrimination; it prevents\nsymmetric endpoint-gated retention claims. The valid claim is one-sided:\ncoherent dipolar order survives original-vs-shuffle gating; illusory dispersion\ndoes not.\n\n4. **The discriminant is order, not marginal distribution.** The illusory\nsequence preserves the same alphabet, first moment, and one-point distribution\nas the dipolar sequence. The gate is therefore not measuring the marginal\ncomposition of gaps. It measures whether the canonical observables retain an\nordered denominator against full shuffle.\n\n## Verdict\n**category: gate_transferability**  \n**verdict: operator**\n\nScoped statement:\n\n> In this synthetic DUALITA perimeter, the denominator gate is transferable as\n> an operator for structural order: it separates dipolar generation from\n> illusory dispersion with replicated z support. The beta coordinate of the\n> GUE/Poisson boundary layer is not transferable: ambiguity appears near beta\n> 0.3, while denominator collapse appears near beta 0.8-0.9.\n\nSo the last BOUNDARY cycles forged a lens, but one parameter of that lens was\nlocal to BOUNDARY. The transferable object is not \"beta 0.3-0.4\"; it is:\n\n> report layer maps as classifier margin plus original-vs-shuffle denominator\n> support, and treat denominator-weak poles as asymmetric structural poles.\n\n## Consecutio\nWhat opens now: apply the same transfer test to `TRASCENDENZA_LIMITE` and\n`G_POTENZIALE_NULLA`, but separate two quantities from the start:\n\n1. classification ambiguity layer;\n2. denominator-collapse layer.\n\nIf both layers coincide in a domain, the domain has a BOUNDARY-like transition.\nIf they split, as they do here, the gate is still useful but the transition\ncoordinate belongs to the target domain, not to the operator.\n\n## Auto-audit: 5 lenti\n- **L1 hard constraint vs bias**: no \"always/never/zero\" claim. \"No endpoint\n  stable observables\" means none reached frequency >= 0.75 across both\n  endpoints under `abs(z) >= 2`.\n- **L2 quantity vs ratio**: classification margin is reported together with\n  stable-observable count and z means. Ratios are not interpreted without\n  denominator support.\n- **L3 no silent patching**: the report explicitly separates \"gate transfers\"\n  from \"BOUNDARY beta coordinate transfers.\" The second is not claimed.\n- **L4 edge cases**: beta 0.4 has ambiguous fraction `0.417`, so only beta 0.3\n  is listed as the replicated ambiguous layer under the >= 0.5 rule.\n- **L5 re-discovery**: this is a finite symbolic-order vs permutation audit,\n  related to standard shuffle/null testing. It is not tagged as a new theorem\n  about Sturmian or Beatty sequences.\n\n## Files\n- Script: `tools/exp_duality_gate_transfer.py`\n- Main data: `tools/data/duality_gate_transfer_20260507_0803.json`\n- Seed check: `tools/data/duality_gate_transfer_20260507_0803_seedcheck.json`\n- Report: `tools/data/reports/agent_20260507_0803.md`\n",
tools/data/risultante_v2.json:46:      "V_coupling": -1.61803399,
tools/data/seme_archive/piano_81.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_81.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/banchi_custom/banco_gen_gap_ratio_cons_gxe_qxg.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_cons_gxe_qxg.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f6.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f6.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_t8_paper_a_esposto.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t8_paper_a_esposto.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f3.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_falsifica_f3.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/banchi_custom/banco_gen_gap_ratio_t2_normalizzatore_trascende.json:8:    "incompletezza=trascendenza,",
tools/data/banchi_custom/banco_gen_gap_ratio_t9_linguaggio_metafisico.json:5:  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
tools/data/banchi_custom/banco_gen_gap_ratio_t9_linguaggio_metafisico.json:6:  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/veritas/veritas_20260507_212541.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_212541.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_212541.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_033525.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260507_033525.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_033525.json:38:    "V_c": {
tools/data/veritas/veritas_20260505_131201.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260505_131201.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260505_131201.json:38:    "V_c": {
tools/data/veritas/veritas_20260508_002036.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260508_002036.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260508_002036.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_142501.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_142501.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_142501.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_094723.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_094723.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_094723.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_175511.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_175511.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_175511.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_175815.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_175815.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_175815.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_204637.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_204637.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_204637.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_194644.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_194644.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_194644.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_180843.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_180843.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_180843.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_104904.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_104904.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_104904.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_093207.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_093207.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_093207.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_090723.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_090723.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_090723.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_231732.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_231732.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_231732.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_194258.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_194258.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_194258.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_101605.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260507_101605.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_101605.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_080958.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260507_080958.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_080958.json:38:    "V_c": {
tools/data/veritas/veritas_20260505_131056.json:10:    "V_c_conferma_ambientale": 0.5
tools/data/veritas/veritas_20260505_131056.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260505_131056.json:38:    "V_c": {
tools/data/experiment_results.json:24:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:39:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:54:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:69:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:84:            "gap_ratio": 2.618090459914461
tools/data/experiment_results.json:99:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:114:            "gap_ratio": 2.6180389412338116
tools/data/experiment_results.json:129:            "gap_ratio": 2.6180511672912212
tools/data/experiment_results.json:165:          "gap_ratio": null,
tools/data/experiment_results.json:176:          "gap_ratio": null,
tools/data/experiment_results.json:187:          "gap_ratio": 2.6180573994805743,
tools/data/experiment_results.json:198:          "gap_ratio": 2.618066201061807,
tools/data/experiment_results.json:209:          "gap_ratio": 2.618030904788572,
tools/data/experiment_results.json:220:          "gap_ratio": 2.618032699020587,
tools/data/experiment_results.json:231:          "gap_ratio": 2.6180835794161377,
tools/data/experiment_results.json:242:          "gap_ratio": 2.6180059965999325,
tools/data/experiment_results.json:253:          "gap_ratio": 2.6181156492729354,
tools/data/experiment_results.json:264:          "gap_ratio": 2.6180826965848376,
tools/data/experiment_results.json:275:          "gap_ratio": 2.6180501628999204,
tools/data/experiment_results.json:286:          "gap_ratio": 2.6180217080567996,
tools/data/experiment_results.json:297:          "gap_ratio": 2.6181156492729354,
tools/data/experiment_results.json:316:          "gap_ratio": null,
tools/data/experiment_results.json:326:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:336:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:346:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:356:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:366:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:376:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:386:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:396:          "gap_ratio": 2.6180145125477585,
tools/data/experiment_results.json:406:          "gap_ratio": 2.6181579718861103,
tools/data/experiment_results.json:416:          "gap_ratio": 2.6180145125477585,
tools/data/experiment_results.json:426:          "gap_ratio": null,
tools/data/veritas/veritas_20260506_063303.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_063303.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_063303.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_150443.json:10:    "V_c_conferma_ambientale": 0.6667
tools/data/veritas/veritas_20260507_150443.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_150443.json:38:    "V_c": {
tools/data/autoricerca_state.json:33:      "gap_ratio": 2.6181003744227653,
tools/data/autoricerca_state.json:40:      "gap_ratio": 2.618013050556921,
tools/data/autoricerca_state.json:47:      "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_state.json:54:      "gap_ratio": 2.6181659442748706,
tools/data/autoricerca_state.json:61:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:68:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:75:      "gap_ratio": 2.6180992382029853,
tools/data/autoricerca_state.json:82:      "gap_ratio": 2.618052995798036,
tools/data/autoricerca_state.json:89:      "gap_ratio": 2.618054344736462,
tools/data/autoricerca_state.json:96:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:103:      "gap_ratio": 2.6180861695660687,
tools/data/veritas/veritas_20260507_200223.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_200223.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_200223.json:38:    "V_c": {
tools/data/veritas/veritas_20260506_200238.json:10:    "V_c_conferma_ambientale": 0.6111
tools/data/veritas/veritas_20260506_200238.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_200238.json:38:    "V_c": {
tools/data/veritas/veritas_20260507_221109.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260507_221109.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260507_221109.json:38:    "V_c": {
tools/data/explorer_20260313_0954.json:9:        "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/explorer_20260313_0954.json:19:        "answer": "Il claim ha un difetto strutturale: \"o forse ci riesce ma non lo sappiamo ancora\" è un'uscita di sicurezza. Rende il claim infalsificabile — e un claim infalsificabile non è un'affermazione, è una decorazione.\n\n**Det=-1 applicato**: Se \"non chiude = trascende\", allora \"chiude = immanenza\" — il normalizzatore che riesce è quello che resta dentro il sistema, che si auto-conferma. Questo è il frame invertito: il successo del normalizzatore è il suo limite, non il suo valore.\n\nPiù utile: cosa esce quando non chiude? Non l'interpretazione — l'output concreto. Se produce struttura non classificabile → è informazione nuova, forse rilevante. Se produce silenzio o rumore → è calibrazione da rivedere, non trascendenza.\n\nLa mappatura incompletezza→trascendenza viene da Gödel: un sistema non può dimostrarsi dall'interno. Ma il normalizzatore non è un sistema formale — è uno strumento. Quando uno strumento non chiude, o il campione è fuori range, o la soglia è sbagliata, o il dominio richiede un operatore diverso.\n\n**Risultante**: il claim è una rilettura poetica di un dato operativo non ancora prodotto. Prima guarda cosa esce. Poi, se quello che esce è strutturato e non classificabile, il frame della trascendenza diventa una tensione reale.",
tools/data/rottura_phi2_results.json:436:        "gap_ratio": 2.6181629831607247,
tools/data/rottura_phi2_results.json:442:        "gap_ratio": 2.617897296100588,
tools/data/rottura_phi2_results.json:448:        "gap_ratio": 2.6180333649741723,
tools/data/rottura_phi2_results.json:454:        "gap_ratio": 2.617968889099815,
tools/data/rottura_phi2_results.json:460:        "gap_ratio": 2.6180294179588133,
tools/data/rottura_phi2_results.json:468:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:475:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:482:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:489:        "gap_ratio": 2.6180320040269116,
tools/data/knowledge_state_pre_fix.json:114:    "V_c_transition": {
tools/data/knowledge_state_pre_fix.json:122:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:138:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:154:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state_pre_fix.json:169:          "input_id": "V_c_phi_special",
tools/data/knowledge_state_pre_fix.json:170:          "input_claim": "V_c(phi) converges to 1.0 while silver does not",
tools/data/knowledge_state_pre_fix.json:172:          "result_claim": "FALSIFICATO: V_c oscilla per tutti. Delta phi-silver cambia segno con N.",
tools/data/knowledge_state_pre_fix.json:186:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:188:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state_pre_fix.json:202:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:204:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:218:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:233:        "FALSIFICATO: V_c oscilla per tutti. Delta phi-silver cambia segno con N.",
tools/data/knowledge_state_pre_fix.json:234:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state_pre_fix.json:282:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state_pre_fix.json:298:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:330:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:343:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state_pre_fix.json:347:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state_pre_fix.json:360:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state_pre_fix.json:389:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze "
tools/data/knowledge_state_pre_fix.json:533:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state_pre_fix.json:568:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state_pre_fix.json:597:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state_pre_fix.json:763:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:769:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:775:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:901:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:937:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:943:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:949:      "topic": "V_c_transition",
tools/data/knowledge_state_pre_fix.json:980:        "V_c_transition",
tools/data/autoricerca_state.json:33:      "gap_ratio": 2.6181003744227653,
tools/data/autoricerca_state.json:40:      "gap_ratio": 2.618013050556921,
tools/data/autoricerca_state.json:47:      "gap_ratio": 2.6180415569821247,
tools/data/autoricerca_state.json:54:      "gap_ratio": 2.6181659442748706,
tools/data/autoricerca_state.json:61:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:68:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:75:      "gap_ratio": 2.6180992382029853,
tools/data/autoricerca_state.json:82:      "gap_ratio": 2.618052995798036,
tools/data/autoricerca_state.json:89:      "gap_ratio": 2.618054344736462,
tools/data/autoricerca_state.json:96:      "gap_ratio": 2.6180861695660687,
tools/data/autoricerca_state.json:103:      "gap_ratio": 2.6180861695660687,
tools/data/notte_20260402_0330.md:8:  [conferma_parziale] COMP_GEN_GAP_RATIO_FALSIFICA_FALSIFICA_F1: gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_
tools/data/notte_20260402_0330.md:10:  [tensione_aperta] M_det_minus_one_L0: Cosa manca per confermare completamente gap_ratio: phi=0.409
tools/data/lab_data.json:37:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici.",
tools/data/lab_data.json:79:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le r",
tools/data/rottura_phi2_results.json:436:        "gap_ratio": 2.6181629831607247,
tools/data/rottura_phi2_results.json:442:        "gap_ratio": 2.617897296100588,
tools/data/rottura_phi2_results.json:448:        "gap_ratio": 2.6180333649741723,
tools/data/rottura_phi2_results.json:454:        "gap_ratio": 2.617968889099815,
tools/data/rottura_phi2_results.json:460:        "gap_ratio": 2.6180294179588133,
tools/data/rottura_phi2_results.json:468:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:475:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:482:        "gap_ratio": 2.6180861695660687,
tools/data/rottura_phi2_results.json:489:        "gap_ratio": 2.6180320040269116,
tools/data/seme.json:8:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme.json:52:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme.json:73:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme.json:152:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme.json:154:      "nota": "Dal domandatore (2026-05-07T21:20).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme.json:172:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme.json:174:      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme.json:181:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/seme.json:182:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme.json:372:    "Nuove tensioni: {'TRANS_BOUNDARY_TRASCENDENZA_LIMITE', 'COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE', 'TENS_SCALE_TRASCENDENZA_LIMITE', 'COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE', 'FALS_BREAK_TRASCENDENZA_LIMITE', 'M_trascendenza_limite_attuale_L0'}",
tools/data/arxiv_cache.json:41:      "title": "On and Off-diagonal Sturmian operator: dynamic and spectral dimension",
tools/data/arxiv_cache.json:97:      "abstract_snippet": "&#9661; More Topological quantum optical states in one-dimensional (1D) quasiperiodic cold atomic chains are studied in this work. We propose that by introducing incommensurate modulations on the interatomic distances of 1D periodic atomic chains, the off-diagonal Aubry-André-Harper (AAH) model can ",
tools/data/arxiv_cache.json:174:      "abstract_snippet": "&#9661; More We theoretically investigate criticality and multifractal states in a one-dimensional Aubry-Andre-Harper model coupled to electromagnetic cavities. We focus on two specific cases where the phonon frequencies are $ω_{0}=1$ and $ω_{0}=2$, respectively. Phase transitions are analyzed using",
tools/data/indeterminazione_results.json:118:      "V_components": {
tools/data/indeterminazione_results.json:128:          "V_coup": -0.01,
tools/data/indeterminazione_results.json:136:          "V_coup": -0.1,
tools/data/indeterminazione_results.json:144:          "V_coup": -0.5,
tools/data/indeterminazione_results.json:152:          "V_coup": -1.0,
tools/data/indeterminazione_results.json:160:          "V_coup": -1.618033988749895,
tools/data/indeterminazione_results.json:168:          "V_coup": -2.0,
tools/data/indeterminazione_results.json:176:          "V_coup": -3.0,
tools/data/indeterminazione_results.json:184:          "V_coup": -5.0,
tools/data/indeterminazione_results.json:192:          "V_coup": -10.0,
tools/data/seme_archive/piano_80.json:52:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_80.json:107:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_archive/piano_zero.json:14:  "fatto_centrale": "Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/seme_archive/piano_zero.json:17:      "id": "T0_incompletezza_trascendenza",
tools/data/seme_archive/piano_zero.json:19:      "claim": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/seme_archive/piano_zero.json:35:      "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/seme_archive/piano_zero.json:75:      "claim": "Il diagramma (det,tr) e la mappa completezza/trascendenza. det=-1: sempre incompleto, sempre trascendente. det=+1,|tr|<2: completo, chiuso, sterile. det=+1,|tr|>=2: aperto ma simmetrico.",
tools/data/seme_archive/piano_zero.json:311:              "isomorfismo_paper_zero": "f(x) genera il punto fisso che non puo contenere. det=-1 genera la distinzione che non puo distinguere (su gap 4). Stesso meccanismo: incompletezza = trascendenza = confine dove scissione e unione sono indistinguibili.",
tools/data/seme_archive/piano_zero.json:555:      "chirality": "ogni misura separa O unifica. det=-1 apre il dipolo, det=+1 lo chiude. Al confine: indecidibilita = trascendenza.",
tools/data/seme_archive/piano_84.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_84.json:124:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/veritas/veritas_20260506_033803.json:10:    "V_c_conferma_ambientale": 1.0
tools/data/veritas/veritas_20260506_033803.json:15:    "V_c": 0.3
tools/data/veritas/veritas_20260506_033803.json:38:    "V_c": {
tools/data/tm1_figures/summary.json:18:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 \u2014 phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/tm1_figures/summary.json:23:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 \u2014 phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:3:  CLAIM: La trascendenza e il limite attuale del modello. I punti fissi relazionali (non 
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:5:    [duale   ] GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE: Il duale di "La trascendenza e il limite attuale del modello
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:6:    [confine ] BOUNDARY_TRASCENDENZA_LIMITE: Tra gli estremi del claim "La trascendenza e il limite attua
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:7:    [dominio ] DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE: L'effetto "La trascendenza e il limite attuale del " si mani
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:8:    [rottura ] BREAK_TRASCENDENZA_LIMITE: Il claim "La trascendenza e il limite attuale del modello. I
tools/data/observatorio/domandatore_unTouched_20260507_095914.md:9:    [scala   ] SCALE_TRASCENDENZA_LIMITE: L'effetto in "La trascendenza e il limite attuale del modell
tools/data/tm1_figures/version.json:59:      "summary": "Lagrangian L = CV + V_c. Self-duality at V=1. det=-1 discriminant 3.2x over det=+1.",
tools/data/tm1_figures/version.json:67:      "summary": "All metallic means tr=1..7 tested. Only Q(sqrt5) has V_c ~ 1. phi minimizes topological entropy. V=2 = inertia, not criticality.",
tools/data/tm1_figures/version.json:83:      "summary": "Bulk spectral statistics (<r>, V_c, Lyapunov) do NOT distinguish phi from silver. Gap Labeling universal for all det=-1. Phi is the minimal representative of the det=-1 universality class, not a statistically special case. M operator (2x2 knowledge matrix) built into research engine.",
tools/data/tm1_figures/tensions_raw.json:13:      "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/riformulazioni.json:13:        "gap_ratio": 2.6180740677926337,
tools/data/riformulazioni.json:69:        "gap_ratio": 2.618037048594604,
tools/data/tm1_figures/tensions.json:13:      "content": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/trasmutazione_results.json:416:    "spirale_gap_ratio_medio": 2.6180513981505733,
tools/data/trasmutazione_results.json:417:    "spirale_gap_ratio_cv": 1.4292502486555382e-05,
tools/data/trasmutazione_results.json:422:        "gap_ratio": 2.6180145125477585,
tools/data/trasmutazione_results.json:430:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:438:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:446:        "gap_ratio": 2.6179938106753506,
tools/data/trasmutazione_results.json:454:        "gap_ratio": 2.6180415569821247,
tools/data/trasmutazione_results.json:462:        "gap_ratio": 2.6180861695660687,
tools/data/trasmutazione_results.json:475:    "T4_gap_ratio_cv": 1.4292502486555382e-05,
tools/data/trasmutazione_results.json:476:    "T4_gap_ratio_medio": 2.6180513981505733
tools/data/engine_state.json:24:      "ipotesi": "gap_ratio = 2.618079 (cv=0.000014)",
tools/data/engine_state.json:25:      "test": "Trovare un dominio dove gap_ratio != phi^2",
tools/data/engine_state.json:108:      "claim": "CV della stabilità (V_c) correla con <r> al 92%: frequenze p"
tools/data/engine_state.json:120:      "claim": "Noble numbers (cf coda 1) hanno V_c medio 1.06 vs non-nobili"
tools/data/engine_state.json:132:      "claim": "V_c > 1 nel 88% dei campioni per φ: direzione preferenziale "
tools/data/seme_archive/piano_83.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_83.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/domandatore/domandatore_20260307_1317.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_1317.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_1317.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_1317.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1317.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_1317.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_1317.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1317.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/seme_archive/piano_82.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_82.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/domandatore/domandatore_20260315_0341.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260315_0341.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260315_0341.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260315_0341.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260315_0341.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260315_0341.json:75:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260328_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260328_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260328_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260328_0343.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_archive/piano_85.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_85.json:124:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/seme_archive/piano_81.json:56:      "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_archive/piano_81.json:112:      "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/domandatore/domandatore_20260306_1032.json:5:    "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/domandatore/domandatore_20260306_1032.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260306_1032.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1032.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1032.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1032.json:40:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260306_1032.json:42:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1032.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260306_1032.json:60:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:61:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260306_1032.json:63:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 2], rapporto: 1.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:65:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1032.json:75:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:78:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 3], rapporto: 0.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:80:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1032.json:90:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260306_1032.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [2, 4], rapporto: 0.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1032.json:95:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260405_0753.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0753.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0753.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0753.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/curva_results.json:11:        "gap_ratio": 0.9999999999999998,
tools/data/curva_results.json:22:        "gap_ratio": 1.0,
tools/data/curva_results.json:33:        "gap_ratio": 1.0000000000000018,
tools/data/curva_results.json:44:        "gap_ratio": 2.586584409253611,
tools/data/curva_results.json:55:        "gap_ratio": 0.9999999999999929,
tools/data/curva_results.json:66:        "gap_ratio": 0.999999999999995,
tools/data/curva_results.json:77:        "gap_ratio": 0.9999999999999958,
tools/data/curva_results.json:88:        "gap_ratio": 0.9999999999999959,
tools/data/curva_results.json:99:        "gap_ratio": 0.9999999999999958,
tools/data/curva_results.json:107:    "cv_gap_ratio_curva": 0.423889160597429,
tools/data/seme_axioms.json:13:    "claim": "Principio Lagrangiano DOPPIO: 1/phi minimizza V_c (rank 2/14) + massima stabilita' (CV=4.3%, rank 1)",
tools/data/seme_axioms.json:17:    "nota": "V_c orbita 1 come materia attorno a Kerr: det=-1 = momento angolare impedisce collasso. 1 e' un lato della singolarita' come lo zero. La stabilita' (CV minimo) E' la conservazione dell'area (det=-1). Isomorfismo: KAM (toro aureo ultimo a rompersi) ↔ phi (V_c piu' stabile).",
tools/data/seme_axioms.json:58:    "claim": "Nella famiglia det(M)=-1 (tr=1..10), phi e' l'UNICO che centra V_c sul punto auto-duale V=1. Le matrici Q(sqrt(5)) hanno V_c medio 1.1, le altre V_c medio 2.2 (2x).",
tools/data/seme_axioms.json:62:    "nota": "Questo e' il risultato che separa phi da tutti gli altri det=-1. Non e' nel gap labeling (universale). Non e' nel det=-1 (condiviso). E' nel fatto che SOLO phi mette V_c=1 (auto-dualita'). Il campo algebrico Q(sqrt(5)) e' la condizione necessaria, tr=1 (phi) e' la condizione sufficiente.",
tools/data/seme_axioms.json:67:    "claim": "La matrice di sostituzione (det=-1) determina transizione LISCIA. Senza sostituzione (Harper coseno) la transizione e' un dip brusco a V=2. Test 5 modelli a N=500.",
tools/data/seme_axioms.json:71:    "nota": "Il fatto chiave: la STESSA frequenza phi produce comportamenti opposti. Sturmian (con matrice sostituzione det=-1) ha transizione liscia centrata a V_c=1. Harper (stessa phi, ma coseno senza sostituzione) non transisce a V=1 — resta GOE fino a V=2 dove ha un dip anomalo (non-monotono, risale). La struttura generativa ricorsiva (det=-1) E' la transizione. Senza di essa, il sistema 'non sa' dove sia il punto critico.",
tools/data/seme_axioms.json:156:    "id": "T0_incompletezza_trascendenza",
tools/data/seme_axioms.json:157:    "claim": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/seme_axioms.json:175:    "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/seme_axioms.json:220:    "claim": "Il diagramma (det,tr) e la mappa completezza/trascendenza. det=-1: sempre incompleto, sempre trascendente. det=+1,|tr|<2: completo, chiuso, sterile. det=+1,|tr|>=2: aperto ma simmetrico.",
tools/data/seme_axioms.json:292:    "claim": "1/e_MINIMO: artefatto N-finito. V_c(1/e) diverge per N>800. Solo phi e' stabile.",
tools/data/seme_axioms.json:373:    "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/seme_axioms.json:382:    "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_axioms.json:386:    "nota": "Dal domandatore (2026-04-05T07:15).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_axioms.json:400:    "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/seme_axioms.json:418:    "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/seme_axioms.json:422:    "nota": "Dal domandatore (2026-04-05T07:23).   phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  ",
tools/data/seme_axioms.json:427:    "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/seme_axioms.json:431:    "nota": "Dal domandatore (2026-04-05T07:23). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
tools/data/seme_axioms.json:436:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/seme_axioms.json:490:    "claim": "G e il potenziale di tutto come nulla - permette il prima e il dopo. Ci muoviamo come trascendenza dimensionale gravitazionale. G nel tetraedro non e una teoria tra le altre - e il potenziale che le rende possibili.",
tools/data/domandatore/domandatore_20260405_0723.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260405_0723.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0723.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0723.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0723.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260405_0723.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0723.json:54:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0723.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0723.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260405_0723.json:91:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0723.json:105:    "tensione": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260305_1955.json:15:      "criterio": "phi V_c < silver V_c < bronze V_c — il campo algebrico determina V_c",
tools/data/domandatore/domandatore_20260305_1955.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_1955.json:34:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/operator_directive_consumed_20260507_0803.md:5:> I tre gate cristallizzati sono **operatori generali trasferibili** o **metriche locali** vestite da gate? Se il gate "denominator collapse layer" si applica anche a trascendenza, dualità, G — allora BOUNDARY non è un asse, è il metodo. I 9 cicli hanno prodotto lo strumento, non il risultato. Se i gate funzionano solo su BOUNDARY — sono metriche locali e R+1=R: il campo è saturo.
tools/data/domandatore_pre_cycle.json:6:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260331_1806.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260331_1806.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260331_1806.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260331_1806.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260331_1806.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260331_1806.json:75:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260507_2120.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2120.json:14:      "ipotesi": "Il duale di \"La trascendenza e il limite attuale del modello. I\" [catalogo: custom]",
tools/data/domandatore/domandatore_20260507_2120.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260507_2120.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260507_2120.json:22:      "ipotesi": "Tra gli estremi del claim \"La trascendenza e il limite attuale del modello. I\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260507_2120.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260507_2120.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260507_2120.json:32:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260507_2120.json:34:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260507_2120.json:39:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260507_2120.json:45:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2120.json:46:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260507_2120.json:48:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [1, 1], rapporto: 1.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2120.json:50:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2120.json:60:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2120.json:63:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [2, 1], rapporto: 2.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2120.json:65:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2120.json:75:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/vocabolario_custom.json:29:  "gap_ratio": {
tools/data/risultante_v2.json:46:      "V_coupling": -1.61803399,
tools/data/knowledge_state.json:95:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:111:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:159:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:172:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:177:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:180:    "V_c_transition": {
tools/data/knowledge_state.json:188:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:204:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:220:          "input_claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/knowledge_state.json:236:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:238:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:252:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:254:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:268:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:284:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:286:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di d",
tools/data/knowledge_state.json:300:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:316:          "input_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:332:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:334:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:348:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:350:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:364:          "input_claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/knowledge_state.json:382:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:398:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:446:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:462:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:478:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:526:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:539:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:540:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:541:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:542:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:543:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:545:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:546:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:551:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di d",
tools/data/knowledge_state.json:554:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:555:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:600:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:616:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:648:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:661:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu"
tools/data/knowledge_state.json:665:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:678:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state.json:707:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze "
tools/data/knowledge_state.json:851:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:869:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:898:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:946:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:994:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1026:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1074:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1090:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1106:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1154:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1186:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1234:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1250:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1298:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1314:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1362:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1376:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1378:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1381:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1383:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1385:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1392:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1393:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1394:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1395:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1396:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1397:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1410:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1426:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1474:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1490:          "result_claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1506:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1554:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1567:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1568:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1570:        "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:1571:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1575:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1576:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1579:    "incompletezza=trascendenza,_normalizzatore_riesce": {
tools/data/knowledge_state.json:1587:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1589:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1603:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1605:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1619:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1635:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1651:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1653:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1667:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1669:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1683:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1685:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1699:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1715:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1731:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1733:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1747:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1749:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1763:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1765:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1779:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1795:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1811:          "input_claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fal",
tools/data/knowledge_state.json:1813:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1826:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1828:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1830:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1834:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1835:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1836:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1849:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1865:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1913:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:1926:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1930:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:1943:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:1959:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:1991:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2007:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2039:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2055:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2084:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2085:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2086:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2100:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2132:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2161:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2162:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2192:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2222:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2252:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2281:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2295:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2311:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2340:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2354:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2370:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2383:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2397:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2413:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2426:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper"
tools/data/knowledge_state.json:2440:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2456:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2488:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2520:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2533:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2537:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2566:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2614:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2627:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2631:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2634:    "trascendenza_limite_attuale": {
tools/data/knowledge_state.json:2642:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2644:          "result_claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/knowledge_state.json:2658:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2660:          "result_claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2674:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2690:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2706:          "input_claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete ",
tools/data/knowledge_state.json:2708:          "result_claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c",
tools/data/knowledge_state.json:2721:        "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:2725:        "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c"
tools/data/knowledge_state.json:2770:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2776:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2782:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2908:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2914:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2920:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2926:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2932:      "topic": "V_c_transition",
tools/data/knowledge_state.json:2938:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3004:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3010:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3016:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3082:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3088:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3094:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3100:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3106:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3112:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3118:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3124:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3130:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3136:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3142:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3148:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3154:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3160:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3166:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3202:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3208:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3214:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3220:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3226:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3232:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3238:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3244:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3250:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3256:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3652:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3658:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3664:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3670:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3676:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:3688:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/knowledge_state.json:3710:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3718:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3721:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3729:      "topic": "V_c_transition",
tools/data/knowledge_state.json:3732:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3754:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3765:      "trigger": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/knowledge_state.json:3776:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3784:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3787:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3795:      "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/knowledge_state.json:3809:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3831:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3842:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3853:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3875:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3886:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3897:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3908:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3930:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3941:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3952:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3963:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:3985:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:4004:      "topic": "trascendenza_limite_attuale",
tools/data/knowledge_state.json:4007:      "trigger": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper",
tools/data/knowledge_state.json:4015:      "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260405_0815.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0815.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0815.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0815.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0815.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0815.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0815.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0815.json:136:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0815.json:150:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/notte_20260401_0330.md:7:  [conferma_parziale] COMP_GEN_GAP_RATIO_FALSIFICA_FALSIFICA_F1: gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_
tools/data/notte_20260401_0330.md:9:  [tensione_aperta] M_det_minus_one_L0: Cosa manca per confermare completamente gap_ratio: phi=0.409
tools/data/vault_condizioni.json:11:      "gap_ratio": 2.6179727982873873,
tools/data/vault_condizioni.json:22:      "gap_ratio": 2.6179575597540508,
tools/data/vault_condizioni.json:33:      "gap_ratio": 2.618131465957247,
tools/data/vault_condizioni.json:44:      "gap_ratio": 2.6180706858803986,
tools/data/vault_condizioni.json:55:      "gap_ratio": 2.6180861695660687,
tools/data/vault_condizioni.json:66:      "gap_ratio": 2.6180861695660687,
tools/data/vault_condizioni.json:77:      "gap_ratio": 2.618055175518615,
tools/data/domandatore/domandatore_20260305_1956.json:15:      "criterio": "phi V_c < silver V_c < bronze V_c — il campo algebrico determina V_c",
tools/data/domandatore/domandatore_20260305_1956.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_1956.json:32:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. phi V_c < silver V_c < bronze ",
tools/data/domandatore/domandatore_20260305_1956.json:34:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260402_0803.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260402_0803.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260402_0803.json:32:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260402_0803.json:34:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0803.json:39:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260402_0803.json:46:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260402_0803.json:75:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/aeternitas/aeternitas_20260508_002036.json:17:          "id": "M_trascendenza_limite_attuale_L0",
tools/data/aeternitas/aeternitas_20260508_002036.json:35:        "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260306_1330.json:5:    "claim": "V_c(phi) converge a 1.0 per N grande mentre V_c(silver) diverge",
tools/data/domandatore/domandatore_20260306_1330.json:14:      "ipotesi": "Il duale di \"V_c(phi) converge a 1.0 per N grande mentre V_c(si\" [catalogo: spettrale]",
tools/data/domandatore/domandatore_20260306_1330.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260306_1330.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1330.json:22:      "ipotesi": "Tra gli estremi del claim \"V_c(phi) converge a 1.0 per N grande mentre V_c(si\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260306_1330.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1330.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1330.json:30:      "ipotesi": "L'effetto \"V_c(phi) converge a 1.0 per N grande men\" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260306_1330.json:40:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260306_1330.json:42:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260306_1330.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260306_1330.json:60:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:61:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260306_1330.json:63:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:65:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1330.json:75:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:78:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:80:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_1330.json:90:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260306_1330.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260306_1330.json:95:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260305_1942.json:15:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_1942.json:17:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_1942.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a un valore >1",
tools/data/domandatore/domandatore_20260305_1942.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_1942.json:85:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/experiment_results.json:24:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:39:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:54:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:69:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:84:            "gap_ratio": 2.618090459914461
tools/data/experiment_results.json:99:            "gap_ratio": 2.6180861695660687
tools/data/experiment_results.json:114:            "gap_ratio": 2.6180389412338116
tools/data/experiment_results.json:129:            "gap_ratio": 2.6180511672912212
tools/data/experiment_results.json:165:          "gap_ratio": null,
tools/data/experiment_results.json:176:          "gap_ratio": null,
tools/data/experiment_results.json:187:          "gap_ratio": 2.6180573994805743,
tools/data/experiment_results.json:198:          "gap_ratio": 2.618066201061807,
tools/data/experiment_results.json:209:          "gap_ratio": 2.618030904788572,
tools/data/experiment_results.json:220:          "gap_ratio": 2.618032699020587,
tools/data/experiment_results.json:231:          "gap_ratio": 2.6180835794161377,
tools/data/experiment_results.json:242:          "gap_ratio": 2.6180059965999325,
tools/data/experiment_results.json:253:          "gap_ratio": 2.6181156492729354,
tools/data/experiment_results.json:264:          "gap_ratio": 2.6180826965848376,
tools/data/experiment_results.json:275:          "gap_ratio": 2.6180501628999204,
tools/data/experiment_results.json:286:          "gap_ratio": 2.6180217080567996,
tools/data/experiment_results.json:297:          "gap_ratio": 2.6181156492729354,
tools/data/experiment_results.json:316:          "gap_ratio": null,
tools/data/experiment_results.json:326:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:336:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:346:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:356:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:366:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:376:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:386:          "gap_ratio": 2.6180861695660687,
tools/data/experiment_results.json:396:          "gap_ratio": 2.6180145125477585,
tools/data/experiment_results.json:406:          "gap_ratio": 2.6181579718861103,
tools/data/experiment_results.json:416:          "gap_ratio": 2.6180145125477585,
tools/data/experiment_results.json:426:          "gap_ratio": null,
tools/data/domandatore/domandatore_20260315_0801.json:14:      "ipotesi": "Il duale di \"L'attrattore e l'impossibilita' del rinforzo f ha \" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260315_0801.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260315_0801.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260315_0801.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260315_0801.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260315_0801.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260315_0801.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260315_0801.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260315_0801.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260315_0801.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260507_2203.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2203.json:14:      "ipotesi": "L'effetto in \"La trascendenza e il limite attuale del modello. I\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260507_2203.json:15:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260507_2203.json:17:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260507_2203.json:24:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260507_2203.json:26:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260507_2203.json:30:      "id": "M_trascendenza_limite_attuale_L1",
tools/data/domandatore/domandatore_20260507_2203.json:31:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260507_2203.json:33:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2203.json:35:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2203.json:45:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/lab_logiche_corpus.md:458:ρ = (V_a·W_a + V_b·W_b + V_c·W_c) / 3
tools/data/domandatore/domandatore_20260306_1327.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_1327.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_1327.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260327_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260327_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260327_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260327_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260327_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260327_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260327_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260327_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260327_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/loop_state.json:5:    "T0_incompletezza_trascendenza": {
tools/data/loop_state.json:190:      "topic": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:194:          "topic": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:195:          "question": "det=-1 codifica simultaneamente incompletezza (da dentro) e trascendenza (da fuori). Non sono correlate — sono la stessa proprieta.",
tools/data/loop_state.json:196:          "tension_id": "T0_incompletezza_trascendenza",
tools/data/loop_state.json:290:          "question": "THIA_Theia_observer — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:396:          "question": "Theia_titana_vista_luce — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:505:          "question": "MHIA_prossimo_passo_cosa_manca — il sistema lo contiene o lo trascende? Incompletezza e trascendenza sono la stessa proprieta. Da dentro: non contengo il mio punto fisso. Da fuori: il mio punto fisso mi eccede.",
tools/data/loop_state.json:507:          "answer": "Lo trascende. Cosa genera questa trascendenza?",
tools/data/loop_state.json:4128:      "topic": "T0_incompletezza_trascendenza",
tools/data/domandatore/domandatore_20260331_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260331_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260331_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260331_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260331_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260331_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260331_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260331_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260331_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260329_0342.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260329_0342.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260329_0342.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260329_0342.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260330_0344.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260330_0344.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260330_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260330_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260330_0344.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260330_0344.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260330_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260330_0344.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260330_0344.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260507_2157.json:5:    "claim": "La trascendenza e il limite attuale del modello. I punti fissi relazionali (non solo phi ma la rete di punti fissi tra osservabili) possono rivelare il vero grafo della realta e pattern nelle matrici. Il confine non e nella matematica - e nel passaggio tra piani.",
tools/data/domandatore/domandatore_20260507_2157.json:14:      "ipotesi": "L'effetto \"La trascendenza e il limite attuale del \" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260507_2157.json:22:      "ipotesi": "Il claim \"La trascendenza e il limite attuale del modello. I\" FALLISCE a N piccolo",
tools/data/domandatore/domandatore_20260507_2157.json:45:      "id": "M_trascendenza_limite_attuale_L0",
tools/data/domandatore/domandatore_20260507_2157.json:48:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 0, stato: [2, 1], rapporto: 2.000 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2157.json:50:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260507_2157.json:60:      "id": "M_trascendenza_limite_attuale_L1",
tools/data/domandatore/domandatore_20260507_2157.json:63:      "nota": "Generata da M. Topic: trascendenza_limite_attuale, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260507_2157.json:65:        "topic": "trascendenza_limite_attuale",
tools/data/domandatore/domandatore_20260307_1947.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260307_1947.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260307_1947.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_1947.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_1947.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_1947.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1947.json:56:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260307_1947.json:58:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260307_1947.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_1947.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_1947.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_1947.json:90:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:91:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' v e' conseguenza di det=-1 o specifico di phi?",
tools/data/domandatore/domandatore_20260307_1947.json:93:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:95:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:105:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:108:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [13, 8], rapporto: 1.625 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:110:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:120:      "id": "M_V_c_transition_L0",
tools/data/domandatore/domandatore_20260307_1947.json:123:      "nota": "Generata da M. Topic: V_c_transition, livello: 0, stato: [13, 8], rapporto: 1.625 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:125:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:135:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260307_1947.json:138:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [21, 13], rapporto: 1.615 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:140:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260307_1947.json:150:      "id": "M_V_c_transition_L1",
tools/data/domandatore/domandatore_20260307_1947.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260307_1947.json:153:      "nota": "Generata da M. Topic: V_c_transition, livello: 1, stato: [21, 13], rapporto: 1.615 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_1947.json:155:        "topic": "V_c_transition",
tools/data/domandatore/domandatore_20260306_0341.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260306_0341.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260306_0341.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260402_0343.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260402_0343.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260402_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260402_0343.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260402_0343.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260402_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260402_0343.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260402_0343.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0715.json:14:      "ipotesi": "Il duale di \"La firma dello zero Lo zero non si vede direttamen\" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260405_0715.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260405_0715.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0715.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0715.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0715.json:40:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260405_0715.json:42:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260405_0715.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0715.json:61:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260405_0715.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260305_1953.json:5:    "claim": "L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentemente V_c>1) — connessione termodinamica?",
tools/data/domandatore/domandatore_20260305_1953.json:22:      "ipotesi": "Il claim \"L'orbita di V_c attorno a 1 ha una DIREZIONE (prevalentement\" FALLISCE quando N e' piccolo (N<50)",
tools/data/domandatore/domandatore_20260305_1953.json:30:      "ipotesi": "L'effetto in \"L'orbita di V_c attorno a 1 ha una DIREZIONE (prev\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260305_1953.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a un valore >1",
tools/data/domandatore/domandatore_20260305_1953.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_1953.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260314_0342.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260314_0342.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260314_0342.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260314_0342.json:105:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0813.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260405_0813.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260405_0813.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0813.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0813.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0813.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0813.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0813.json:136:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0813.json:150:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260401_0344.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260401_0344.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260401_0344.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260401_0344.json:90:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260305_2025.json:15:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_2025.json:17:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_2025.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260305_2025.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_2025.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_2025.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260326_0343.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260326_0343.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260326_0343.json:47:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260326_0343.json:90:    "tensione": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260405_0810.json:31:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260405_0810.json:33:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0810.json:54:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260405_0810.json:56:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260405_0810.json:76:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260405_0810.json:90:    "tensione": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_2028.json:15:      "criterio": "V_c(phi) piu' vicino a 1 di tutti i controlli",
tools/data/domandatore/domandatore_20260305_2028.json:17:      "stdout": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_2028.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260305_2028.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260305_2028.json:39:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260305_2028.json:41:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260305_2028.json:48:      "claim": "V_c(phi)=0.961 vs media ctrl=1.289 — phi 7.3x piu' vicino a V=1. V_c(phi) piu' vicino a 1 di tu",
tools/data/domandatore/domandatore_20260305_2028.json:50:      "dettaglio": "{\n  \"phi\": {\n    \"V_c\": 0.9605263157894737,\n    \"r_at_V1\": 0.5295270386893117\n  },\n  \"silver\": {\n    \"V_c\": 1.223684210526316,\n    \"r_at_V1\": 0.5568421608006108\n  },\n  \"bronze\": {\n    \"V_c\": 1.3552631578947367,\n    \"r_at_V1\": 0.5742642974182394\n  }\n}\n"
tools/data/domandatore/domandatore_20260305_2028.json:55:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260305_2028.json:69:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260305_2028.json:71:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_2034.json:5:    "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
tools/data/domandatore/domandatore_20260307_2034.json:14:      "ipotesi": "Il duale di \"Se incompletezza=trascendenza, il normalizzatore c\" [catalogo: custom]",
tools/data/domandatore/domandatore_20260307_2034.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260307_2034.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260307_2034.json:22:      "ipotesi": "Tra gli estremi del claim \"Se incompletezza=trascendenza, il normalizzatore c\" esiste un punto di transizione continuo",
tools/data/domandatore/domandatore_20260307_2034.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260307_2034.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260307_2034.json:30:      "ipotesi": "L'effetto \"Se incompletezza=trascendenza, il normal\" si manifesta anche in fotonico",
tools/data/domandatore/domandatore_20260307_2034.json:38:      "ipotesi": "Il claim \"Se incompletezza=trascendenza, il normalizzatore c\" FALLISCE a N piccolo",
tools/data/domandatore/domandatore_20260307_2034.json:46:      "ipotesi": "L'effetto in \"Se incompletezza=trascendenza, il normalizzatore c\" scala come legge di potenza con N",
tools/data/domandatore/domandatore_20260307_2034.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260307_2034.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_2034.json:56:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260307_2034.json:58:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260307_2034.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260307_2034.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260307_2034.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260307_2034.json:90:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:91:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260307_2034.json:93:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:95:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:105:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:108:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:110:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:120:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
tools/data/domandatore/domandatore_20260307_2034.json:123:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:125:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:135:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
tools/data/domandatore/domandatore_20260307_2034.json:138:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:140:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260307_2034.json:150:      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
tools/data/domandatore/domandatore_20260307_2034.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260307_2034.json:153:      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
tools/data/domandatore/domandatore_20260307_2034.json:155:        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
tools/data/domandatore/domandatore_20260309_1409.json:14:      "ipotesi": "Il duale di \"Il linguaggio metafisico e appropriato per le tran\" [generato: gap_ratio]",
tools/data/domandatore/domandatore_20260309_1409.json:15:      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
tools/data/domandatore/domandatore_20260309_1409.json:17:      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260309_1409.json:23:      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
tools/data/domandatore/domandatore_20260309_1409.json:25:      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
tools/data/domandatore/domandatore_20260309_1409.json:47:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260309_1409.json:49:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260309_1409.json:56:      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
tools/data/domandatore/domandatore_20260309_1409.json:58:      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
tools/data/domandatore/domandatore_20260309_1409.json:63:      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
tools/data/domandatore/domandatore_20260309_1409.json:84:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260309_1409.json:86:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260309_1409.json:91:      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
tools/data/domandatore/domandatore_20260309_1409.json:151:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
tools/data/domandatore/domandatore_20260306_1329.json:23:      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
tools/data/domandatore/domandatore_20260306_1329.json:25:      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260306_1329.json:39:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
tools/data/domandatore/domandatore_20260306_1329.json:41:      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
tools/data/domandatore/domandatore_20260306_1329.json:61:      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",

exec
/bin/bash -lc "sed -n '1,180p' tools/data/domandatore/domandatore_20260307_2034.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "timestamp": "2026-03-07T20:34:50.954321",
  "tensione_input": {
    "id": "T2_normalizzatore_trascende",
    "claim": "Se incompletezza=trascendenza, il normalizzatore che non riesce a chiudere STA trascendendo. Non fallisce — genera. O forse ci riesce ma non lo sappiamo ancora.",
    "intensita": 0.9
  },
  "esperimenti_generati": 5,
  "esperimenti_eseguiti": 5,
  "risultati": [
    {
      "id": "GEN_GAP_RATIO_T2_normalizzatore_T2_normalizzatore_trascende",
      "operatore": "duale",
      "ipotesi": "Il duale di \"Se incompletezza=trascendenza, il normalizzatore c\" [catalogo: custom]",
      "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
      "success": true,
      "stdout": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
    },
    {
      "id": "BOUNDARY_T2_normalizzatore_trascende",
      "operatore": "confine",
      "ipotesi": "Tra gli estremi del claim \"Se incompletezza=trascendenza, il normalizzatore c\" esiste un punto di transizione continuo",
      "criterio": "La transizione Sturmian->Harper e' continua (il terzo incluso esiste)",
      "success": true,
      "stdout": "alpha (0=Sturmian, 1=Harper) vs <r> at V=1:\n  alpha=0.0: <r>=0.521 ####################\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
    },
    {
      "id": "DOMAIN_PHOTONIC_T2_normalizzatore_trascende",
      "operatore": "dominio",
      "ipotesi": "L'effetto \"Se incompletezza=trascendenza, il normal\" si manifesta anche in fotonico",
      "criterio": "Fibonacci-phi trasmissione piu' strutturata di random/silver",
      "success": true,
      "stdout": "Trasmissione multistrato Fibonacci — phi vs silver vs random:\n  phi: T_mean=6.2500 T_std=0.0000\n  silver: T_mean=0.0041 T_std=0.0000\n  random_0: T_mean=39.0625 T_std=0.0000\n  random_1: T_mean=0.0000 T_std=0.0000\n  random_2: T_mean=0.0001 T_std=0.0000\n"
    },
    {
      "id": "BREAK_T2_normalizzatore_trascende",
      "operatore": "rottura",
      "ipotesi": "Il claim \"Se incompletezza=trascendenza, il normalizzatore c\" FALLISCE a N piccolo",
      "criterio": "phi converge a <r>=0.5 piu' sistematicamente di silver",
      "success": true,
      "stdout": "Scaling <r>(V=1) vs N:\n\n  phi:\n    N=  13: <r>=0.6729 |<r>-0.5|=0.1729 \n    N=  21: <r>=0.4054 |<r>-0.5|=0.0946 closer\n    N=  34: <r>=0.5331 |<r>-0.5|=0.0331 closer\n    N=  55: <r>=0.3869 |<r>-0.5|=0.1131 farther\n    N=  89: <r>=0.5025 |<r>-0.5|=0.0025 closer\n    N= 144: <r>=0.3873 |<r>-0.5|=0.1127 farther\n    N= 233: <r>=0.4889 |<r>-0.5|=0.0111 closer\n    N= 377: <r>=0.3860 |<r>-0.5|=0.1140 farther\n    N= 610: <r>=0.4782 |<r>-0.5|=0.0218 closer\n    N= 987: <r>=0.3871 |<r>-0.5|=0.1129 farther\n\n  silver:\n    N=  13: <r>=0.5902 |<r>-0.5|=0.0902 \n    N=  21: <r>=0.6317 |<r>-0.5|=0.1317 farther\n    N=  34: <r>=0.6442 |<r>-0.5|=0.1442 farther\n    N=  55: <r>=0.5233 |<r>-0.5|=0.0233 closer\n    N=  89: <r>=0.5502 |<r>-0.5|=0.0502 farther\n    N= 144: <r>=0.5603 |<r>-0.5|=0.0603 farther\n    N= 233: <r>=0.5446 |<r>-0.5|=0.0446 closer\n    N= 377: <r>=0.4989 |<r>-0.5|=0.0011 closer\n    N= 610: <r>=0.5480 |<r>-0.5|=0.0480 farther\n    N= 987: <r>=0.4913 |<r>-0.5|=0.0087 closer\n"
    },
    {
      "id": "SCALE_T2_normalizzatore_trascende",
      "operatore": "scala",
      "ipotesi": "L'effetto in \"Se incompletezza=trascendenza, il normalizzatore c\" scala come legge di potenza con N",
      "criterio": "V_c(phi) converge a 1.0 per N->inf, V_c(Silver) a >1",
      "success": true,
      "stdout": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
    }
  ],
  "nuove_tensioni": [
    {
      "tipo": "conferma_parziale",
      "id": "COMP_GEN_GAP_RATIO_T2_normalizzatore_T2_normalizzatore_trascende",
      "claim": "gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vicino a rapporto in",
      "intensita": 0.65,
      "dettaglio": "  phi: gap_ratio = 0.408953425243134\n  silver: gap_ratio = 1.0482231205217798\n  bronze: gap_ratio = 1.3027860752339453\n{\n  \"phi\": 0.408953425243134,\n  \"silver\": 1.0482231205217798,\n  \"bronze\": 1.3027860752339453\n}\n"
    },
    {
      "tipo": "scoperta",
      "id": "TRANS_BOUNDARY_T2_normalizzatore_trascende",
      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizione Sturmian->Harper e' conti",
      "intensita": 0.8,
      "dettaglio": "\n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ######################\n  alpha=0.3: <r>=0.567 ######################\n  alpha=0.4: <r>=0.580 #######################\n  alpha=0.5: <r>=0.603 ########################\n  alpha=0.6: <r>=0.642 #########################\n  alpha=0.7: <r>=0.685 ###########################\n  alpha=0.8: <r>=0.732 #############################\n  alpha=0.9: <r>=0.789 ###############################\n  alpha=1.0: <r>=0.887 ###################################\n"
    },
    {
      "tipo": "conferma_parziale",
      "id": "COMP_DOMAIN_PHOTONIC_T2_normalizzatore_trascende",
      "claim": "T_mean: phi=6.2500 vs ctrl_mean=9.7667 (ratio=0.64). Fibonacci-phi trasmissione piu' struttur",
      "intensita": 0.65,
      "dettaglio": "Trasmissione multistrato Fibonacci — phi vs silver vs random:\n  phi: T_mean=6.2500 T_std=0.0000\n  silver: T_mean=0.0041 T_std=0.0000\n  random_0: T_mean=39.0625 T_std=0.0000\n  random_1: T_mean=0.0000 T_std=0.0000\n  random_2: T_mean=0.0001 T_std=0.0000\n"
    },
    {
      "tipo": "falsificazione",
      "id": "FALS_BREAK_T2_normalizzatore_trascende",
      "claim": "Nessuna separazione: 9/9 (50/50 su 18 confronti). Il claim non regge. phi converge a <r>=0.5 piu' sistematicam",
      "intensita": 0.8,
      "dettaglio": "0.5|=0.1129 farther\n\n  silver:\n    N=  13: <r>=0.5902 |<r>-0.5|=0.0902 \n    N=  21: <r>=0.6317 |<r>-0.5|=0.1317 farther\n    N=  34: <r>=0.6442 |<r>-0.5|=0.1442 farther\n    N=  55: <r>=0.5233 |<r>-0.5|=0.0233 closer\n    N=  89: <r>=0.5502 |<r>-0.5|=0.0502 farther\n    N= 144: <r>=0.5603 |<r>-0.5|=0.0603 farther\n    N= 233: <r>=0.5446 |<r>-0.5|=0.0446 closer\n    N= 377: <r>=0.4989 |<r>-0.5|=0.0011 closer\n    N= 610: <r>=0.5480 |<r>-0.5|=0.0480 farther\n    N= 987: <r>=0.4913 |<r>-0.5|=0.0087 closer\n"
    },
    {
      "tipo": "tensione_aperta",
      "id": "TENS_SCALE_T2_normalizzatore_trascende",
      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
      "intensita": 0.6,
      "dettaglio": "V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_c=0.672\n    N= 233: V_c=1.017\n    N= 377: V_c=0.672\n    N= 610: V_c=0.931\n    Fit failed: Optimal parameters not found: Number of calls to function has reached maxfev = 5000.\n\n  silver:\n    N=  89: V_c=1.276\n    N= 144: V_c=1.362\n    N= 233: V_c=1.276\n    N= 377: V_c=1.017\n    N= 610: V_c=1.362\n    Fit: V_inf=1.2115, a=8.1676, b=0.9851\n"
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
      "intensita": 0.34376941012509465,
      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [3, 2], rapporto: 1.500 (phi=1.618)",
      "_M_metadata": {
        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
        "level": 1,
        "noto": 3,
        "ignoto": 2,
        "ratio": 1.5,
        "maturity": 0.9270509831248422
      }
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
      "claim": "Transizione continua confermata: <r> da 0.521 a 0.887 (range=0.366). La transizi e' conseguenza di det=-1 o specifico di phi?",
      "intensita": 0.31803398874989486,
      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
      "_M_metadata": {
        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
        "level": 1,
        "noto": 5,
        "ignoto": 3,
        "ratio": 1.6666666666666667,
        "maturity": 0.9699433520835086
      }
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L1",
      "claim": "Cosa manca per confermare completamente T_mean: phi=6.2500 vs ctrl_mean=9.7667 (ratio=0.64). Fibonacci-phi trasmissione ?",
      "intensita": 0.31803398874989486,
      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 1, stato: [5, 3], rapporto: 1.667 (phi=1.618)",
      "_M_metadata": {
        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
        "level": 1,
        "noto": 5,
        "ignoto": 3,
        "ratio": 1.6666666666666667,
        "maturity": 0.9699433520835086
      }
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
      "claim": "Perche' Nessuna separazione: 9/9 (50/50 su 18 confronti). Il claim non regge. phi conver era sbagliato? Quale assunzione fallisce?",
      "intensita": 0.30668737080010094,
      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
      "_M_metadata": {
        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
        "level": 2,
        "noto": 8,
        "ignoto": 5,
        "ratio": 1.6,
        "maturity": 0.9888543819998318
      }
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_incompletezza=trascendenza,_normalizzatore_riesce_L2",
      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a — quale esperimento discriminerebbe?",
      "intensita": 0.30668737080010094,
      "nota": "Generata da M. Topic: incompletezza=trascendenza,_normalizzatore_riesce, livello: 2, stato: [8, 5], rapporto: 1.600 (phi=1.618)",
      "_M_metadata": {
        "topic": "incompletezza=trascendenza,_normalizzatore_riesce",
        "level": 2,
        "noto": 8,
        "ignoto": 5,
        "ratio": 1.6,
        "maturity": 0.9888543819998318
      }
    }
  ]
}
exec
/bin/bash -lc "rg -n \"gap_ratio\\(phi\\)|gap labeling|banco_.*gap|gap_ratio\" tools/dnd_banchi.py tools/dnd_domandatore.py" in /opt/MM_D-ND
 succeeded in 0ms:
tools/dnd_banchi.py:316:    'entropia': (banco_entropia_topologica, ['entropia', 'log(phi)', 'quanto', 'primitiv', 'gap']),

exec
/bin/bash -lc "sed -n '1,220p' tools/data/reports/agent_20260507_2042.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Agent Report — Det Non È Il Discriminatore Della Dualità
**Date**: 2026-05-07 20:42
**Piano**: 84
**Tension explored**: DUALITA_DIPOLARE_VS_ILLUSORIA (0.9)
**verdict**: CONSTRAINT
observables_registry: n/a
observables_used: [det_M, trace_M, eigvals, det_vs_shuffle_z]

## Claim Under Test
> Due tipi di dualita: dipolare-generativa come det=-1; illusoria-dispersiva come det=+1.

Il nodo regressivo e il framing stesso: se `det(M)` misura la dualita, allora nei gap primi deve separare il reale dallo shuffle e deve muoversi verso un polo leggibile (`-1` o `+1`) su scala.

## Question
Il determinante della matrice di trasferimento dei gap e un discriminatore operativo della dualita, o e solo un segno debole che va subordinato al denominator order-vs-shuffle?

## Experiment Design
- Perimetro: 7 finestre di 50,000 gap primi, start nominali `100..50,000,000`.
- Stato: `x_i=(g_i, g_{i-1})`, `y_i=(g_{i+1}, g_i)`.
- Fit: matrice `M` least-squares tale che `y = M @ x`.
- Osservabili: `det(M)`, `trace(M)`, autovalori, z-score di `det(M)` contro 20 shuffle della stessa finestra.
- Null baseline: shuffle dei gap nella stessa finestra, stessa distribuzione marginale, ordine distrutto.
- Tool: `tools/exp_det_drift.py`; output salvato anche in `tools/data/exp_det_drift_20260507_2042.json`.

## Results
| start | median p | ln(p) | det(M) | det shuffle mean | z(det) |
|---:|---:|---:|---:|---:|---:|
| 100 | 287,383 | 12.57 | -0.388048 | -0.378211 | -2.97 |
| 1,000 | 289,273 | 12.58 | -0.388161 | -0.379353 | -2.49 |
| 10,000 | 302,927 | 12.62 | -0.387626 | -0.378640 | -3.08 |
| 100,000 | 409,777 | 12.92 | -0.387652 | -0.377266 | -3.43 |
| 1,000,000 | 1,349,147 | 14.11 | -0.380926 | -0.371107 | -4.43 |
| 10,000,000 | 10,402,927 | 16.16 | -0.381040 | -0.370080 | -2.52 |
| 50,000,000 | 50,444,239 | 17.74 | -0.370717 | -0.368393 | -0.97 |

Fit scala:
- `det(M) = -0.425503 + 0.002982 * ln(p)`
- `R^2 = 0.9044`
- range reale: `-0.388161 .. -0.370717`
- range shuffle mean: `-0.379353 .. -0.368393`
- z-score: `[-3.0, -2.5, -3.1, -3.4, -4.4, -2.5, -1.0]`

## Key Findings
1. **Il segno negativo non basta a nominare dualita dipolare.** Il reale resta negativo in tutte le finestre, ma vale circa `-0.39`, non `-1`. La formulazione `dipolare = det=-1` non regge come osservabile diretto dei gap primi in questo fit.

2. **Lo shuffle ha lo stesso segno.** Il null preserva det negativo medio (`-0.379 .. -0.368`). Il segno deriva in larga parte dalla geometria dell'embedding e dalla marginale dei gap, non solo dall'ordine generativo.

3. **Il denominatore reale-vs-shuffle e presente ma decade.** Lo z-score e forte nelle finestre basse/intermedie (`-2.49 .. -4.43`) e cade a `-0.97` nella finestra `p ~ 5.0e7`. Il claim valido e differenza ordinata contro shuffle su perimetro finito, non polo `-1`.

4. **La scala va verso zero, non verso `+1`.** Il fit aumenta da `-0.4255` con slope positivo `0.002982`; l'extrapolazione a `+1` e astronomica (`~3.83e207`) e non e contenuto operativo. Il movimento osservato e indebolimento del segno, non transizione misurata a dualita illusoria `+1`.

## Verdict
**CONSTRAINT on DUALITA_DIPOLARE_VS_ILLUSORIA**: nel perimetro transfer-matrix dei gap primi, `det(M)` non e discriminatore primario della dualita. Il segno negativo e condiviso dallo shuffle; la parte informativa e lo scarto reale-vs-shuffle, che esiste fino alle scale misurate ma si indebolisce. La dualita dipolare va formulata come supporto ordinato contro null, non come valore `det=-1` del fit lineare.

## Bicono della scoperta
- **Due radici**: segno del determinante · denominatore contro shuffle.
- **Singolare**: la matrice fitted sui gap, dove il segno appare prima della distinzione ordine/null.
- **Invariante di passaggio**: non il valore `-1`; sopravvive solo la domanda se il reale si separa dallo shuffle.
- **Campo di possibilità**: qui diventa possibile usare det come diagnostica secondaria del supporto; qui diventa non-possibile usare `det=-1`/`det=+1` come tassonomia diretta della dualita nei gap primi.

## Consecutio
Applicare lo stesso test a un perimetro non-primi con ordine costruito e marginale identica: Beatty coerente, shuffle Beatty, GUE spacing order, Poisson. Se il segno resta condiviso, il nodo regressivo e l'embedding `x=(g_i,g_{i-1})`; se lo scarto z replica solo nei domini ordinati, det resta utile come osservabile subordinato al denominator gate.

## Auto-audit: 5 lenti
- **L1 hard constraint vs bias**: non dichiaro zero, sempre, mai. `z=-0.97` alla scala alta e riportato come indebolimento, non assenza.
- **L2 quantita vs ratio**: riporto valori assoluti di det e differenza z contro shuffle; non uso solo trend percentuali.
- **L3 no silent patching**: il claim originale `det=-1` e vincolato esplicitamente. Non viene salvato cambiando definizione in conclusione.
- **L4 edge cases**: la finestra alta e controesempio al supporto forte; resta dentro il perimetro e determina il verdict.
- **L5 re-discovery**: least-squares autoregressive embedding e shuffle test sono strumenti standard; il report non tagga NEW.

## Files
- Script: `tools/exp_det_drift.py`
- Data: `tools/data/exp_det_drift_20260507_2042.json`
- Discarded replication data: `tools/data/duality_gate_transfer_20260507_2042.json`
- Report: `tools/data/reports/agent_20260507_2042.md`

exec
/bin/bash -lc "sed -n '240,360p' tools/dnd_banchi.py" in /opt/MM_D-ND
 succeeded in 0ms:
    """Trasmissione fotonico Fibonacci — transfer matrix ottica."""
    return {
        'id': f'PHOTONIC_{tid}',
        'dominio': 'fotonico',
        'codice': PRELUDE + f'''
def transfer_matrix_optical(seq, n_A, n_B, wavelength):
    """Transfer matrix per multistrato Fibonacci."""
    T = np.eye(2, dtype=complex)
    for s in seq:
        n = n_A if s == 0 else n_B
        d = wavelength / (4 * n)  # quarter-wave
        phi_layer = 2 * np.pi * n * d / wavelength
        # Propagation matrix
        M = np.array([[np.cos(phi_layer), 1j*np.sin(phi_layer)/n],
                       [1j*n*np.sin(phi_layer), np.cos(phi_layer)]])
        T = M @ T
    return T

N = {N}
print("Trasmissione multistrato Fibonacci — phi vs silver vs random:")
for name, theta in [('phi', 1/PHI), ('silver', 1/SILVER)]:
    seq = sturmian_sequence(theta, N)
    transmissions = []
    for wl_factor in np.linspace(0.5, 2.0, 20):
        T_mat = transfer_matrix_optical(seq, 1.0, 2.5, wl_factor)
        t = 1.0 / abs(T_mat[0, 0])**2
        transmissions.append(t)
    print(f"  {{name}}: T_mean={{np.mean(transmissions):.4f}} T_std={{np.std(transmissions):.4f}}")

# Random reference
rng = np.random.default_rng(42)
for trial in range(3):
    seq_rand = list(rng.integers(0, 2, N))
    transmissions = []
    for wl_factor in np.linspace(0.5, 2.0, 20):
        T_mat = transfer_matrix_optical(seq_rand, 1.0, 2.5, wl_factor)
        t = 1.0 / abs(T_mat[0, 0])**2
        transmissions.append(t)
    print(f"  random_{{trial}}: T_mean={{np.mean(transmissions):.4f}} T_std={{np.std(transmissions):.4f}}")
''',
        'criterio': 'Fibonacci-phi trasmissione piu\' strutturata di random/silver',
    }


def banco_scaling_r(tid, Ns=None):
    """Scaling di <r> con N a V=1 — convergenza a criticità."""
    if Ns is None:
        Ns = [20, 34, 55, 89, 144, 233, 377, 610]
    return {
        'id': f'SCALING_R_{tid}',
        'dominio': 'spettrale',
        'codice': PRELUDE + f'''
Ns = {Ns}
print("Scaling <r>(V=1) vs N:")
for name, theta in [('phi', 1/PHI), ('silver', 1/SILVER)]:
    print(f"\\n  {{name}}:")
    prev_diff = None
    for N in Ns:
        seq = sturmian_sequence(theta, N)
        H = hamiltonian(seq, 1.0)
        r = r_statistic(eigvalsh(H))
        diff = abs(r - 0.5)
        converging = "closer" if prev_diff and diff < prev_diff else "farther" if prev_diff else ""
        print(f"    N={{N:4d}}: <r>={{r:.4f}} |<r>-0.5|={{diff:.4f}} {{converging}}")
        prev_diff = diff
''',
        'criterio': 'phi converge a <r>=0.5 piu\' sistematicamente di silver',
    }


# Catalogo: keyword -> banco
CATALOGO = {
    # Ogni entry: (funzione_banco, keywords_che_la_attivano)
    'dualita': (banco_dualita, ['dualita', 'duale', 'dual', 'mirror', '1/x', '<r>(v)+<r>(1/v)']),
    'vc': (banco_vc_confronto, ['v_c', 'transizione', 'critico', 'auto-dual', 'punto fisso']),
    'lyapunov': (banco_lyapunov, ['lyapunov', 'localizzazione', 'esteso', 'localizzato', 'trasporto']),
    'entropia': (banco_entropia_topologica, ['entropia', 'log(phi)', 'quanto', 'primitiv', 'gap']),
    'det_famiglia': (banco_det_famiglia, ['det=-1', 'det(m)', 'famiglia', 'determinante', 'traccia']),
    'fotonica': (banco_transfer_fotonica, ['fotonico', 'fotonica', 'trasmissione', 'transfer', 'maxwell', 'ottic']),
    'scaling': (banco_scaling_r, ['scala', 'scaling', 'n grande', 'finito', 'convergenza', '<r>']),
}


def seleziona_banchi(claim, tid, max_banchi=3):
    """Seleziona i banchi piu' rilevanti per un claim."""
    claim_lower = claim.lower()
    scores = []
    for nome, (fn, keywords) in CATALOGO.items():
        score = sum(1 for kw in keywords if kw in claim_lower)
        if score > 0:
            scores.append((score, nome, fn))
    # Includi anche banchi custom salvati
    custom_dir = Path(__file__).parent / 'data' / 'banchi_custom'
    if custom_dir.exists():
        import json as _json
        for f in custom_dir.glob('banco_*.json'):
            try:
                with open(f) as fh:
                    custom = _json.load(fh)
                kws = custom.get('keywords', [])
                score = sum(1 for kw in kws if kw in claim_lower)
                if score > 0:
                    def _make_custom_fn(c):
                        def fn(tid):
                            return {
                                'id': f'{c["id_prefix"]}_{tid}',
                                'dominio': c.get('dominio', 'custom'),
                                'codice': PRELUDE + c['codice'],
                                'criterio': c.get('criterio', '?'),
                            }
                        return fn
                    scores.append((score + 0.5, custom.get('nome', f.stem), _make_custom_fn(custom)))
            except Exception:
                continue
    scores.sort(reverse=True)
    risultati = []
    for score, nome, fn in scores[:max_banchi]:
        banco = fn(tid)
        banco['nome_banco'] = nome
        banco['score'] = score
        risultati.append(banco)

exec
/bin/bash -lc "ls tools/data/banchi_custom && sed -n '1,220p' tools/data/banchi_custom/*.json" in /opt/MM_D-ND
 succeeded in 0ms:
banco_gen_gap_ratio_cons_gxe_qxg.json
banco_gen_gap_ratio_falsifica_f3.json
banco_gen_gap_ratio_falsifica_f6.json
banco_gen_gap_ratio_t2_normalizzatore_trascende.json
banco_gen_gap_ratio_t8_paper_a_esposto.json
banco_gen_gap_ratio_t9_linguaggio_metafisico.json
banco_gen_lyapunov_falsifica_c2.json
{
  "nome": "GEN_GAP_RATIO_CONS_GxE_QxG",
  "id_prefix": "GEN_GAP_RATIO_CONS_GxE",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "relazione",
    "buco",
    "nero",
    "carico",
    "(reissner-nordstrom)"
  ],
  "created": "?"
}
{
  "nome": "GEN_GAP_RATIO_FALSIFICA_F3",
  "id_prefix": "GEN_GAP_RATIO_FALSIFICA",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "l'attrattore",
    "l'impossibilita'",
    "rinforzo",
    "come",
    "attrattore"
  ],
  "created": "?"
}
{
  "nome": "GEN_GAP_RATIO_FALSIFICA_F6",
  "id_prefix": "GEN_GAP_RATIO_FALSIFICA",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "firma",
    "dello",
    "zero",
    "zero",
    "vede"
  ],
  "created": "?"
}
{
  "nome": "GEN_GAP_RATIO_T2_normalizzatore_trascende",
  "id_prefix": "GEN_GAP_RATIO_T2_normalizzatore",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "incompletezza=trascendenza,",
    "normalizzatore",
    "riesce",
    "chiudere",
    "trascendendo."
  ],
  "created": "?"
}
{
  "nome": "GEN_GAP_RATIO_T8_paper_A_esposto",
  "id_prefix": "GEN_GAP_RATIO_T8_paper_A",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "paper",
    "(doi",
    "10.5281/zenodo.18891337)",
    "errori",
    "tecnici"
  ],
  "created": "?"
}
{
  "nome": "GEN_GAP_RATIO_T9_linguaggio_metafisico",
  "id_prefix": "GEN_GAP_RATIO_T9_linguaggio",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per gap_ratio\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    H = hamiltonian(seq, 1.0)\n    eigs = np.sort(eigvalsh(H))\n    spacings = np.diff(eigs)\n    mean_sp = np.mean(spacings)\n    gaps = [(i, sp) for i, sp in enumerate(spacings) if sp > 2 * mean_sp]\n    if len(gaps) >= 2:\n        value = gaps[0][1] / gaps[1][1]\n    else:\n        value = 0.0\n    results[name] = value\n    print(\"  %s: gap_ratio = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "gap_ratio(phi) piu' vicino a rapporto in Z[phi] (gap labeling) rispetto ai controlli",
  "keywords": [
    "linguaggio",
    "metafisico",
    "appropriato",
    "transizioni",
    "piani."
  ],
  "created": "?"
}
{
  "nome": "GEN_LYAPUNOV_FALSIFICA_C2",
  "id_prefix": "GEN_LYAPUNOV_FALSIFICA",
  "dominio": "custom",
  "codice": "\nN = 500\n# Confronto phi vs controllo per lyapunov\nresults = {}\nfor name, theta in [('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]:\n    seq = sturmian_sequence(theta, N)\n    T_m = np.eye(2)\n    for n in range(len(seq)):\n        M_n = np.array([[0.0 - seq[n], -1], [1, 0]])\n        T_m = M_n @ T_m\n        nm = np.linalg.norm(T_m)\n        if nm > 1e6: T_m /= nm\n    value = np.log(np.linalg.norm(T_m)) / len(seq)\n    results[name] = value\n    print(\"  %s: lyapunov = %s\" % (name, value))\n\nprint(json.dumps(results, indent=2, default=str))",
  "criterio": "lyapunov(phi) piu' vicino a 0.48121182505960347 rispetto ai controlli",
  "keywords": [
    "coincidenza",
    "numerica",
    "prova",
    "ogni",
    "numerico"
  ],
  "created": "?"
}
exec
/bin/bash -lc "sed -n '1,90p' tools/dnd_banchi.py" in /opt/MM_D-ND
 succeeded in 0ms:
#!/usr/bin/env python3
"""
dnd_banchi.py — Banchi di esperimento parametrici per il Domandatore

Ogni banco e' una funzione che genera codice Python eseguibile dato
un set di parametri. Il codice e' autocontenuto (nessun import esterno
tranne numpy/scipy).

I banchi coprono 5 domini D-ND:
  1. SPETTRALE  — r-statistic, V_c, dualita'
  2. LYAPUNOV   — esponente di Lyapunov, localizzazione
  3. ENTROPIA   — entropia topologica, gap tra 0 e log(phi)
  4. ALGEBRICO  — campo algebrico, traccia, determinante
  5. FOTONICO   — trasmissione, transfer matrix

Ogni banco restituisce un dict: {id, codice, criterio, dominio}

Author: TM3
Date: 2026-03-05
"""

import numpy as np
from pathlib import Path
from datetime import datetime

PHI = (1 + np.sqrt(5)) / 2

# Codice base riusabile (iniettato in ogni esperimento)
PRELUDE = '''
import numpy as np
from numpy.linalg import eigvalsh, eigvals
import json

PHI = (1 + np.sqrt(5)) / 2
SILVER = 1 + np.sqrt(2)
BRONZE = 1 + np.sqrt(3)

def sturmian_sequence(theta, N):
    return [int(np.floor((n+1)*theta) - np.floor(n*theta)) for n in range(N)]

def hamiltonian(seq, V):
    N = len(seq)
    H = np.zeros((N, N))
    for i in range(N):
        H[i, i] = V * seq[i]
        if i > 0: H[i, i-1] = H[i-1, i] = 1.0
    return H

def r_statistic(eigenvalues):
    eigs = np.sort(np.real(eigenvalues))
    spacings = np.diff(eigs)
    spacings = spacings[spacings > 1e-12]
    if len(spacings) < 2: return 0.5
    ratios = [min(spacings[i], spacings[i+1]) / max(spacings[i], spacings[i+1])
              for i in range(len(spacings)-1)]
    return np.mean(ratios)
'''


def banco_dualita(tid, N=500):
    """Testa <r>(V) + <r>(1/V) = 1 per phi vs controlli."""
    return {
        'id': f'DUAL_SYMMETRY_{tid}',
        'dominio': 'spettrale',
        'codice': PRELUDE + f'''
N = {N}
results = {{}}
for name, theta in [('phi', 1/PHI), ('silver', 1/SILVER)]:
    seq = sturmian_sequence(theta, N)
    duality_errors = []
    for V in [0.5, 0.7, 1.0, 1.5, 2.0, 3.0]:
        H1 = hamiltonian(seq, V)
        H2 = hamiltonian(seq, 1.0/V)
        r1 = r_statistic(eigvalsh(H1))
        r2 = r_statistic(eigvalsh(H2))
        err = abs(r1 + r2 - 1.0)
        duality_errors.append(err)
        print(f"  {{name}} V={{V:.1f}}: <r>(V)={{r1:.3f}} + <r>(1/V)={{r2:.3f}} = {{r1+r2:.3f}} (err={{err:.3f}})")
    results[name] = np.mean(duality_errors)
    print(f"  {{name}} mean duality error: {{results[name]:.4f}}")
print(f"\\nRATIO: silver_err/phi_err = {{results.get('silver',0)/max(results.get('phi',1e-10),1e-10):.1f}}x")
''',
        'criterio': 'phi duality error < silver duality error',
    }


def banco_vc_confronto(tid, thetas=None, N=500):
    """Confronta V_c per diverse frequenze irrazionali."""
    if thetas is None:
        thetas = "[('phi', 1/PHI), ('silver', 1/SILVER), ('bronze', 1/BRONZE)]"

codex
Il deposito mostra che il vecchio `gap_ratio` era “primi due gap sopra 2×media” a `N=500`, senza sweep su soglia, fase o scala. Costruisco quindi il test regressivo nel denominatore: stessa osservabile, ma stratificata per `N`, fase Sturmiana e soglia, con controlli metallici e random bilanciato.
apply patch
patch: completed
/opt/MM_D-ND/tools/exp_quasiperiodic_gap_ratio_denominator.py
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

codex
Lo script è pronto. Lo eseguo ora sul perimetro stratificato corto: abbastanza largo da falsificare la dipendenza da `N=500`, abbastanza contenuto da restare entro il cycle.
exec
/bin/bash -lc 'python tools/exp_quasiperiodic_gap_ratio_denominator.py' in /opt/MM_D-ND
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

 succeeded in 2990ms:
{
  "summary": {
    "balanced_random": {
      "first_two_ratio": {
        "count": 144,
        "median": 1.0341203926717948,
        "q25": 0.7469309192528899,
        "q75": 1.4924840555221253,
        "min": 0.24247848060945856,
        "max": 4.047606544114048
      },
      "top2_ratio": {
        "count": 144,
        "median": 1.1303988680629062,
        "q25": 1.0496190642655994,
        "q75": 1.2760270313425763,
        "min": 1.0025822389709598,
        "max": 2.1702756304742574
      },
      "large_gap_count": {
        "count": 144,
        "median": 54.5,
        "q25": 36.75,
        "q75": 72.0,
        "min": 17.0,
        "max": 124.0
      }
    },
    "bronze": {
      "first_two_ratio": {
        "count": 48,
        "median": 0.976328656385622,
        "q25": 0.5189397045601045,
        "q75": 1.096558849336012,
        "min": 0.29314290873577503,
        "max": 2.1100076500749556
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.4541743311141493,
        "q25": 1.292600772262387,
        "q75": 2.5352284031966463,
        "min": 1.0141581476637556,
        "max": 2.5383964288463825
      },
      "large_gap_count": {
        "count": 48,
        "median": 26.0,
        "q25": 18.0,
        "q75": 34.25,
        "min": 13.0,
        "max": 46.0
      }
    },
    "phi": {
      "first_two_ratio": {
        "count": 48,
        "median": 0.4543459022103822,
        "q25": 0.4083413244247327,
        "q75": 0.5475061378183159,
        "min": 0.19760258488709043,
        "max": 3.6949421868073524
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.5773729513272479,
        "q25": 1.4661487489339313,
        "q75": 1.7830327517010311,
        "min": 1.0387519136151724,
        "max": 2.4047341962550495
      },
      "large_gap_count": {
        "count": 48,
        "median": 29.0,
        "q25": 22.25,
        "q75": 35.0,
        "min": 14.0,
        "max": 43.0
      }
    },
    "silver": {
      "first_two_ratio": {
        "count": 48,
        "median": 1.0482231205217798,
        "q25": 0.7625901720799926,
        "q75": 1.4569419236533097,
        "min": 0.14835051316274986,
        "max": 2.1588585435400764
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.4369260819022913,
        "q25": 1.280856913619239,
        "q75": 1.8033495968188422,
        "min": 1.0602356315960617,
        "max": 2.7143543049608003
      },
      "large_gap_count": {
        "count": 48,
        "median": 27.0,
        "q25": 17.75,
        "q75": 35.0,
        "min": 12.0,
        "max": 43.0
      }
    }
  },
  "matched_comparison": {
    "count": 48,
    "phi_lt_silver": 38,
    "phi_lt_bronze": 30,
    "phi_lt_both": 25
  },
  "out": "tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json"
}

diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

codex
Il risultato non è binario: il valore storico replica, ma la dominanza non è universale quando si apre il denominatore. Estraggo le righe chiave, poi scrivo il report con verdict come vincolo, non conferma.
exec
/bin/bash -lc "python - <<'PY'
import json
p='tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json'
d=json.load(open(p))
for r in d['rows']:
    if r['domain'] in ('phi','silver','bronze') and r.get('N')==500 and r.get('phase')==0 and r.get('threshold')==2.0:
        print(r)
print('comparisons false examples')
shown=0
for r in d['rows']:
    if r['domain']=='_matched_comparison' and not (r['phi_lt_silver'] and r['phi_lt_bronze']):
        print(r)
        shown+=1
        if shown>=8: break
PY" in /opt/MM_D-ND
 succeeded in 0ms:
{'domain': 'phi', 'N': 500, 'phase': 0.0, 'threshold': 2.0, 'n_large': 30, 'first_two_ratio': 0.408953425243134, 'top2_ratio': 1.1320169493956762}
{'domain': 'silver', 'N': 500, 'phase': 0.0, 'threshold': 2.0, 'n_large': 36, 'first_two_ratio': 1.0482231205217798, 'top2_ratio': 1.0602356315960617}
{'domain': 'bronze', 'N': 500, 'phase': 0.0, 'threshold': 2.0, 'n_large': 34, 'first_two_ratio': 1.3027860752339453, 'top2_ratio': 1.1649946072762936}
comparisons false examples
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.25, 'threshold': 1.75, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.4569419236533097, 'bronze_value': 1.096558849336012}
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.25, 'threshold': 2.0, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.4569419236533097, 'bronze_value': 1.096558849336012}
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.25, 'threshold': 2.25, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.4569419236533097, 'bronze_value': 0.9810577806262526}
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.75, 'threshold': 1.75, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.606389595047606, 'bronze_value': 0.6802407422838515}
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.75, 'threshold': 2.0, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.606389595047606, 'bronze_value': 0.6802407422838515}
{'domain': '_matched_comparison', 'N': 233, 'phase': 0.75, 'threshold': 2.25, 'phi_lt_silver': True, 'phi_lt_bronze': False, 'phi_value': 1.1015988804382795, 'silver_value': 1.606389595047606, 'bronze_value': 0.6802407422838515}
{'domain': '_matched_comparison', 'N': 377, 'phase': 0.0, 'threshold': 2.0, 'phi_lt_silver': False, 'phi_lt_bronze': True, 'phi_value': 0.4136281663145516, 'silver_value': 0.22385181334735257, 'bronze_value': 1.2956602853307768}
{'domain': '_matched_comparison', 'N': 377, 'phase': 0.25, 'threshold': 1.75, 'phi_lt_silver': False, 'phi_lt_bronze': True, 'phi_value': 0.46845868604959195, 'silver_value': 0.16173048137279286, 'bronze_value': 1.6905175825238257}

diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

exec
/bin/bash -lc 'tail -120 tools/data/seme.json' in /opt/MM_D-ND
 succeeded in 0ms:
      ],
      "timestamp": "2026-04-02T08:23:13.991997"
    },
    {
      "id": "video_sDlZ-aY9GN4",
      "title": "Moving charges produce magnetic fields - Einstein relativity",
      "type": "video_digest",
      "keywords": [
        "magnetic field",
        "electric field",
        "length contraction",
        "time dilation",
        "Coulomb",
        "Lorentz",
        "reference frame",
        "electromagnetic"
      ],
      "content": "Il campo magnetico non esiste come entità separata — è il campo elettrico visto da un altro frame. La contrazione di Lorentz trasforma neutralità in carica. Due elettroni in movimento si separano più lentamente del previsto non per forza magnetica ma per dilatazione temporale. E e B sono manifestazioni dello stesso campo elettromagnetico. La relatività unifica.",
      "teorie": [
        "E",
        "R"
      ],
      "ponti_potenziali": [
        {
          "coppia": "ExR",
          "ponte": "cambio di frame — E e B sono lo stesso campo",
          "nota": "il 'ponte' non è l'onda EM, è il cambio di osservatore"
        }
      ],
      "timestamp": "2026-04-02T08:23:13.992016"
    },
    {
      "id": "video_OwDWOtFNsKQ",
      "title": "Thermodynamic Computing: Better than Quantum? | Guillaume Verdon (Extropic)",
      "type": "video_digest",
      "keywords": [
        "thermodynamic computing",
        "noise",
        "entropy",
        "extropic",
        "fluctuations",
        "information theory",
        "probability",
        "Boltzmann"
      ],
      "content": "Computing termodinamico: sfruttare le fluttuazioni termiche invece di combatterle. Il rumore non è nemico — è risorsa. Extropic costruisce hardware che usa l'entropia come motore computazionale. Connessione profonda tra termodinamica, teoria dell'informazione e probabilità.",
      "teorie": [
        "T",
        "Q"
      ],
      "ponti_potenziali": [
        {
          "coppia": "TxQ",
          "ponte": "noise come risorsa computazionale — fluttuazioni termiche = calcolo",
          "nota": "il vuoto quantistico (pieno di fluttuazioni) è il computer"
        }
      ],
      "timestamp": "2026-04-02T08:23:13.992019"
    },
    {
      "id": "video_j0wJBEZdwLs",
      "title": "What is a Laplace Transform - visual explanation",
      "type": "video_digest",
      "keywords": [
        "Laplace transform",
        "frequency",
        "damping",
        "s-plane",
        "complex",
        "exponential"
      ],
      "content": "La trasformata di Laplace come proiezione su esponenziali complesse. Il piano s = σ + iω combina smorzamento (reale) e oscillazione (immaginario). Connessione tra dominio temporale e dominio delle frequenze complesse.",
      "teorie": [
        "T",
        "Q",
        "R"
      ],
      "ponti_potenziali": [],
      "timestamp": "2026-04-02T08:23:13.992021"
    },
    {
      "id": "video_rZ2m1_q9lg0",
      "title": "New duality: conductor-insulator in YbB12 at 35T - University of Michigan",
      "type": "video_digest",
      "keywords": [
        "duality",
        "conductor",
        "insulator",
        "Kondo insulator",
        "quantum oscillations",
        "ytterbium boride",
        "YbB12",
        "charge-neutral fermions",
        "strongly correlated",
        "condensed matter",
        "magnetic field"
      ],
      "content": "Scoperta dualita conduttore-isolante in YbB12 a 35 Tesla. Il materiale si comporta simultaneamente da conduttore e isolante — oscillazioni quantistiche dal bulk, non dalla superficie. Charge-neutral fermions (portatori senza carica) creano comportamento di conduzione = il terzo incluso. La scoperta avviene a campo estremo dove il confine tra stati collassa.",
      "teorie": [
        "T",
        "Q",
        "E"
      ],
      "ponti_potenziali": [
        {
          "coppia": "TxQ",
          "ponte": "Kondo insulator fortemente correlato — dualita conduttore/isolante come stato quantistico unico",
          "nota": "charge-neutral fermions = portatori senza carica che conducono, terzo incluso operativo"
        },
        {
          "coppia": "ExQ",
          "ponte": "campo magnetico estremo (35T) collassa il confine tra stati — condizione di soglia",
          "nota": "il confine non separa, unifica. Pattern BOUNDARY del Domandatore"
        }
      ],
      "ref": "Physical Review Letters 2025, 135(15). Chen, Zhu, Ratkovski et al. PI: Lu Li",
      "timestamp": "2026-04-04T19:34:08.014Z"
    }
  ]
}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

exec
/bin/bash -lc "rg -n 'M_trascendenza_limite_attuale_L0|META' tools/data/seme.json" in /opt/MM_D-ND
 succeeded in 0ms:
181:      "id": "M_trascendenza_limite_attuale_L0",
191:      "id": "META",
194:      "nota": "Stratificazione META applicata via meta_assertion_gate (cycle 1458). Non chiude — apre sotto-tensioni per gate_class.",
196:      "porta": "verify_assertions_META_STRATIFIED",
224:      "porta": "META_BOUNDARY",
239:      "porta": "META_BOUNDARY",
254:      "porta": "META",
266:      "id": "META_ASSERTION_GATE",
267:      "claim": "Il PASS 11/11 della verifica non e un denominatore unico. Nel perimetro agent_20260507_1458, 6/11 test passano anche senza tools/data; 5/11 dipendono da fixture o contesto; 4/11 PASS sono algebra/same-rule ad alto rischio tautologico. La tensione META va riportata con gate_class, no_data_status e data_dependency per test.",
270:      "porta": "META",
372:    "Nuove tensioni: {'TRANS_BOUNDARY_TRASCENDENZA_LIMITE', 'COMP_GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE', 'TENS_SCALE_TRASCENDENZA_LIMITE', 'COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE', 'FALS_BREAK_TRASCENDENZA_LIMITE', 'M_trascendenza_limite_attuale_L0'}",
373:    "Tensioni risolte: {'OBSERVABLE_REGISTRY', 'DUALITA_DIPOLARE_VS_ILLUSORIA', 'G_BLANK_SHELL_POLARITY_GATE', 'TRASCENDENZA_LIMITE', 'G_UNDERLAY_HINGE_GATE', 'G_BLANK_SHELL_STRATIFIED_GATE', 'PERTURBATION_DENOMINATOR_GATE', 'META_ASSERTION_GATE', 'METRIC_TENSOR', 'G_BLANK_SHELL_SCALE_LAW_GATE', 'ORDER_DENOMINATOR_GATE', 'STRUCTURAL_CHECK_20260507', 'G_POTENZIALE_NULLA', 'G_TRIADIC_DEPOSIT_GATE', 'BOUNDARY_LAYER_GATE', 'DUALITA_DET_DENOMINATOR_GATE', 'TENSIONE_ENTITA', 'G_BLANK_SHELL_DILATION_GATE', 'G_BLANK_SHELL_TQGER_GATE', 'PIANO_PRIMARIO_DUE_ASSIOMI', 'DUALITY_SCALE_CONTRAST', 'G_BLANK_TO_SOURCE_FACE_GATE'}"

diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

exec
/bin/bash -lc "sed -n '160,205p' tools/data/seme.json" in /opt/MM_D-ND
 succeeded in 0ms:
      "tipo": "conferma_parziale",
      "id": "COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE",
      "claim": "T_mean: phi=6.2500 vs ctrl_mean=9.7667 (ratio=0.64). Fibonacci-phi trasmissione piu' struttur",
      "intensita": 0.65,
      "nota": "Dal domandatore (2026-05-07T21:57). Trasmissione multistrato Fibonacci — phi vs silver vs random:\n  phi: T_mean=6.25",
      "condensato_ref": null,
      "condensato_motivo": "Ricorrente (5x in 2 giorni) e fuori dalla mappa",
      "porta": "novità"
    },
    {
      "tipo": "tensione_aperta",
      "id": "TENS_SCALE_TRASCENDENZA_LIMITE",
      "claim": "Fit non converge — il modello potrebbe non essere power-law. V_c(phi) converge a 1.0 per N->inf, V_c(",
      "intensita": 0.6,
      "nota": "Dal domandatore (2026-05-07T22:03). V_c scaling with N — phi vs silver:\n\n  phi:\n    N=  89: V_c=1.017\n    N= 144: V_",
      "condensato_ref": "A12",
      "condensato_motivo": "Overlap termini con A12 (3 termini)",
      "porta": "condensato"
    },
    {
      "tipo": "tensione_aperta",
      "id": "M_trascendenza_limite_attuale_L0",
      "claim": "Cosa manca per confermare completamente gap_ratio: phi=0.4090 vs ctrl_mean=1.1755 (ratio=0.35). gap_ratio(phi) piu' vici?",
      "intensita": 0.529179606750063,
      "nota": "Dal domandatore (2026-05-07T21:20). ",
      "condensato_ref": null,
      "condensato_motivo": "Ricorrente (5x in 2 giorni) e fuori dalla mappa",
      "porta": "novità"
    },
    {
      "tipo": "simmetria_sospetta",
      "id": "META",
      "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
      "intensità": 0.3,
      "nota": "Stratificazione META applicata via meta_assertion_gate (cycle 1458). Non chiude — apre sotto-tensioni per gate_class.",
      "condensato_ref": "A4,A12,C2",
      "porta": "verify_assertions_META_STRATIFIED",
      "stratificato": true,
      "n_high_tautology": 4,
      "n_data_independent": 6,
      "condensato_motivo": "Ricorrente (3x in 2 giorni) e fuori dalla mappa"
    }
  ],
  "tensioni_archiviate": [
    {
      "id": "OBSERVABLE_REGISTRY",

diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

codex
Prima del report registro nel seme il vincolo emerso: il vecchio valore resta verificato nel suo punto, ma il claim deve portarsi dietro il denominatore stratificato. Poi salvo il report del cycle.
apply patch
patch: completed
/opt/MM_D-ND/tools/data/seme.json
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

apply patch
patch: completed
/opt/MM_D-ND/tools/data/reports/agent_20260508_0330.md
diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

codex
Il report e il vincolo sono scritti. Faccio ora le verifiche minime: JSON valido, script riproducibile, e controllo git per elencare solo cio che ho toccato.
exec
/bin/bash -lc "sed -n '1,240p' tools/data/reports/agent_20260508_0330.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Agent Report — Gap Ratio Porta Il Denominatore
**Date**: 2026-05-08 03:30
**Piano**: 86
**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
**verdict**: CONSTRAINT
observables_registry: n/a
observables_used: [first_two_ratio, top2_ratio, large_gap_count]

## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?

## Experiment Design
- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.

## Results
Caso storico replicato:

| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
|---|---:|---:|---:|---:|---:|---:|
| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |

Stratificazione completa:

| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
|---|---:|---:|---:|---:|---:|
| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |

Matched comparison:

| comparison | count |
|---|---:|
| phi < silver | 38/48 |
| phi < bronze | 30/48 |
| phi < both | 25/48 |

## Key Findings
1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.

2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.

3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.

4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.

## Verdict
**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.

## Bicono della scoperta
- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.

## Consecutio
Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.

## Auto-audit: 5 lenti
- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.

## Files
- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
- Report: `tools/data/reports/agent_20260508_0330.md`

exec
/bin/bash -lc 'git status --short' in /opt/MM_D-ND
 succeeded in 0ms:
 M applications/INDEX.draft.json
 M applications/soluzioni/20260430_0330_three-regimes-of-modular-memory-algebraic/finding_index.draft.json
 M applications/soluzioni/20260430_0330_three-regimes-of-modular-memory-algebraic/manifest.draft.json
 M tools/data/agent_field_live.md
 M tools/data/autoricerca_journal.json
 M tools/data/ciclo_memoria.json
 M tools/data/conoscenza_teorie.json
 M tools/data/consecutio.json
 M tools/data/consecutio_processata.json
 M tools/data/domande_fondamentali.json
 M tools/data/exp_det_drift.json
 M tools/data/incrocio_risultato.json
 M tools/data/knowledge_state.json
 M tools/data/lab_data.json
 M tools/data/lab_graph.json
 M tools/data/lab_health.json
 M tools/data/lab_session_log.jsonl
 M tools/data/pipeline_state.json
 M tools/data/ponti_evoluti.json
 M tools/data/refresh_detector_state.json
 M tools/data/seme.json
 D tools/data/seme_archive/piano_37.json
 D tools/data/seme_archive/piano_38.json
 D tools/data/seme_archive/piano_4.json
 D tools/data/seme_archive/piano_5.json
 D tools/data/seme_archive/piano_6.json
 D tools/data/seme_archive/piano_7.json
 M tools/data/seme_axioms.json
 M tools/data/seme_backup_pre_run.json
 M tools/data/tm1_figures/tensions.json
 M tools/data/tm1_figures/tensions_raw.json
?? applications/published/20260504_0901_the-two-markov-layers-are-coupled/
?? applications/published/20260504_1219_markov-layers-pass-the-first-recovery/
?? applications/published/20260505_0330_observable-rank-audit-many-probes-one/
?? applications/published/20260506_1955_observable-collinearity-breaks-only-where-denominators/
?? applications/published/20260507_0330_the-gue-poisson-boundary-is-a/
?? applications/published/20260507_0803_denominator-gate-transfers-boundary-coordinate-does/
?? applications/published/20260507_0942_bridge-order-denominator-gate/
?? applications/published/20260507_1006_logistic-counter-scope-gate/
?? applications/published/20260507_1042_logistic-surrogate-contract-gate/
?? applications/published/20260507_1419_logistic-cyclic-block-entropy-gate/
?? applications/published/20260507_1458_meta-assertion-gate/
?? applications/published/20260507_1751_tqge-underlay-gate/
?? applications/published/20260507_1804_blank-to-source-hinge/
?? applications/published/20260507_1938_triadic-deposit-gate/
?? applications/published/20260507_1957_blank-shell-polarity-gate/
?? applications/scoperte/20260502_0330_the-dipolar-phase-transition-is-nearly_auto/
?? applications/scoperte/20260503_0330_markov-memory-has-two-visible-layers_auto/
?? applications/scoperte/20260504_0901_the-two-markov-layers-are-coupled_auto/
?? applications/scoperte/20260504_1219_markov-layers-pass-the-first-recovery_auto/
?? applications/scoperte/20260505_0330_observable-rank-audit-many-probes-one_auto/
?? applications/scoperte/20260506_0625_perturbation-dimensionality-is-not-yet-a_auto/
?? applications/scoperte/20260506_1941_perturbation-rank-needs-denominator-gating_auto/
?? applications/scoperte/20260506_1955_observable-collinearity-breaks-only-where-denominators_auto/
?? applications/scoperte/20260507_0330_the-gue-poisson-boundary-is-a_auto/
?? applications/scoperte/20260507_0803_denominator-gate-transfers-boundary-coordinate-does_auto/
?? applications/scoperte/20260507_0901_denominator-gate-transfer-matrix_auto/
?? applications/scoperte/20260507_0923_semi-real-order-denominator-gate_auto/
?? applications/scoperte/20260507_0942_bridge-order-denominator-gate_auto/
?? applications/scoperte/20260507_1006_logistic-counter-scope-gate_auto/
?? applications/scoperte/20260507_1042_logistic-surrogate-contract-gate_auto/
?? applications/scoperte/20260507_1419_logistic-cyclic-block-entropy-gate_auto/
?? applications/scoperte/20260507_1458_meta-assertion-gate_auto/
?? applications/scoperte/20260507_1751_tqge-underlay-gate_auto/
?? applications/scoperte/20260507_1804_blank-to-source-hinge_auto/
?? applications/scoperte/20260507_1938_triadic-deposit-gate_auto/
?? applications/scoperte/20260507_1957_blank-shell-polarity-gate_auto/
?? "applications/scoperte/20260507_2042_det-non-\303\250-il-discriminatore-della_auto/"
?? applications/scoperte/20260507_2120_blank-shell-tqger-gate_auto/
?? applications/scoperte/20260507_2203_blank-shell-scale-law_auto/
?? applications/scoperte/20260507_2310_blank-shell-stratified-gate_auto/
?? applications/scoperte/20260508_0011_duality-contrast-weakens-with-scale-in_auto/
?? applications/soluzioni/20260502_0330_the-dipolar-phase-transition-is-nearly/
?? applications/soluzioni/20260503_0330_markov-memory-has-two-visible-layers/
?? applications/soluzioni/20260504_0901_the-two-markov-layers-are-coupled/
?? applications/soluzioni/20260504_1219_markov-layers-pass-the-first-recovery/
?? applications/soluzioni/20260505_0330_observable-rank-audit-many-probes-one/
?? applications/soluzioni/20260506_1941_perturbation-rank-needs-denominator-gating/
?? applications/soluzioni/20260506_1955_observable-collinearity-breaks-only-where-denominators/
?? applications/soluzioni/20260507_0330_the-gue-poisson-boundary-is-a/
?? applications/soluzioni/20260507_0803_denominator-gate-transfers-boundary-coordinate-does/
?? applications/soluzioni/20260507_0942_bridge-order-denominator-gate/
?? applications/soluzioni/20260507_1006_logistic-counter-scope-gate/
?? applications/soluzioni/20260507_1042_logistic-surrogate-contract-gate/
?? applications/soluzioni/20260507_1419_logistic-cyclic-block-entropy-gate/
?? applications/soluzioni/20260507_1458_meta-assertion-gate/
?? applications/soluzioni/20260507_1751_tqge-underlay-gate/
?? applications/soluzioni/20260507_1804_blank-to-source-hinge/
?? applications/soluzioni/20260507_1938_triadic-deposit-gate/
?? applications/soluzioni/20260507_1957_blank-shell-polarity-gate/
?? "applications/soluzioni/20260507_2042_det-non-\303\250-il-discriminatore-della/"
?? applications/soluzioni/20260507_2120_blank-shell-tqger-gate/
?? applications/soluzioni/20260507_2203_blank-shell-scale-law/
?? applications/soluzioni/20260507_2310_blank-shell-stratified-gate/
?? applications/soluzioni/20260508_0011_duality-contrast-weakens-with-scale-in/
?? findings_gallery.md
?? tools/data/.last_telegram_msg
?? tools/data/3d_boundary_layers.json
?? tools/data/aeternitas/
?? tools/data/alignment_active.json
?? tools/data/alignment_markers.jsonl
?? tools/data/biconi/bicono_20260507_1804.json
?? tools/data/biconi/bicono_20260507_1938.json
?? tools/data/biconi/bicono_20260507_1957.json
?? tools/data/biconi/bicono_20260507_2042.json
?? tools/data/biconi/bicono_20260507_2120.json
?? tools/data/biconi/bicono_20260507_2203.json
?? tools/data/biconi/bicono_20260507_2310.json
?? tools/data/biconi/bicono_20260508_0011.json
?? tools/data/bicono_projections.jsonl
?? tools/data/blank_shell_dilation_gate_20260507_2157.json
?? tools/data/blank_shell_polarity_gate_20260507_1957.json
?? tools/data/blank_shell_scale_law_20260507_2203.json
?? tools/data/blank_shell_stratified_gate_20260507_2310.json
?? tools/data/blank_shell_tqger_gate_20260507_2120.json
?? tools/data/blank_to_source_hinge_20260507_1804.json
?? tools/data/boundary_coherence.json
?? tools/data/boundary_mixture_gate_20260507_0330.json
?? tools/data/boundary_mixture_gate_20260507_0330_seedcheck.json
?? tools/data/boundary_shuffle_audit.json
?? tools/data/bridge_order_denominator_gate_20260507_0942.json
?? tools/data/bridge_order_denominator_gate_20260507_0942_seedcheck.json
?? tools/data/brody_calibration_results.json
?? tools/data/brody_flow.json
?? tools/data/conoscenza_teorie.json.bak.retraction_22_04
?? tools/data/cross_domain_dipolar_direction.json
?? tools/data/cross_observable_consistency.json
?? tools/data/crossover_phase_test.json
?? tools/data/denominator_gate_transfer_matrix.json
?? tools/data/dipolar_crossover.json
?? tools/data/dipolar_vector_scaling.json
?? tools/data/domandatore/domandatore_20260421_0746.json
?? tools/data/domandatore/domandatore_20260422_0345.json
?? tools/data/domandatore/domandatore_20260423_0345.json
?? tools/data/domandatore/domandatore_20260424_0345.json
?? tools/data/domandatore/domandatore_20260425_0345.json
?? tools/data/domandatore/domandatore_20260426_0345.json
?? tools/data/domandatore/domandatore_20260427_0345.json
?? tools/data/domandatore/domandatore_20260428_0345.json
?? tools/data/domandatore/domandatore_20260428_1236.json
?? tools/data/domandatore/domandatore_20260429_0345.json
?? tools/data/domandatore/domandatore_20260430_0345.json
?? tools/data/domandatore/domandatore_20260501_0345.json
?? tools/data/domandatore/domandatore_20260502_0345.json
?? tools/data/domandatore/domandatore_20260503_0345.json
?? tools/data/domandatore/domandatore_20260504_0345.json
?? tools/data/domandatore/domandatore_20260505_0345.json
?? tools/data/domandatore/domandatore_20260506_0345.json
?? tools/data/domandatore/domandatore_20260507_0345.json
?? tools/data/domandatore/domandatore_20260507_0728.json
?? tools/data/domandatore/domandatore_20260507_0742.json
?? tools/data/domandatore/domandatore_20260507_1420.json
?? tools/data/domandatore/domandatore_20260507_1459.json
?? tools/data/domandatore/domandatore_20260507_2120.json
?? tools/data/domandatore/domandatore_20260507_2157.json
?? tools/data/domandatore/domandatore_20260507_2203.json
?? tools/data/domandatore_pre_cycle.json
?? tools/data/duality_gate_transfer_20260507_0803.json
?? tools/data/duality_gate_transfer_20260507_0803_seedcheck.json
?? tools/data/duality_gate_transfer_20260507_2042.json
?? tools/data/duality_scale_contrast_20260508.json
?? tools/data/evolution/evolution_20260422_0330.md
?? tools/data/evolution/evolution_20260422_1616.md
?? tools/data/evolution/evolution_20260423_0330.md
?? tools/data/evolution/evolution_20260424_0330.md
?? tools/data/evolution/evolution_20260425_0330.md
?? tools/data/evolution/evolution_20260427_0330.md
?? tools/data/evolution/evolution_20260428_0330.md
?? tools/data/evolution/evolution_20260429_0852.md
?? tools/data/evolution/evolution_20260429_1013.md
?? tools/data/evolution/evolution_20260430_0330.md
?? tools/data/evolution/evolution_20260430_1905.md
?? tools/data/evolution/evolution_20260430_1946.md
?? tools/data/evolution/evolution_20260501_0330.md
?? tools/data/evolution/evolution_20260501_0725.md
?? tools/data/evolution/evolution_20260501_0931.md
?? tools/data/evolution/evolution_20260502_0330.md
?? tools/data/evolution/evolution_20260503_0330.md
?? tools/data/evolution/evolution_20260504_0901.md
?? tools/data/evolution/evolution_20260504_1219.md
?? tools/data/evolution/evolution_20260505_0330.md
?? tools/data/evolution/evolution_20260506_0330.md
?? tools/data/evolution/evolution_20260506_1941.md
?? tools/data/evolution/evolution_20260506_1955.md
?? tools/data/evolution/evolution_20260507_0330.md
?? tools/data/evolution/evolution_20260507_0803.md
?? tools/data/evolution/evolution_20260507_0901.md
?? tools/data/evolution/evolution_20260507_0923.md
?? tools/data/evolution/evolution_20260507_0942.md
?? tools/data/evolution/evolution_20260507_1006.md
?? tools/data/evolution/evolution_20260507_1042.md
?? tools/data/evolution/evolution_20260507_1419.md
?? tools/data/evolution/evolution_20260507_1458.md
?? tools/data/evolution/evolution_20260507_1751.md
?? tools/data/evolution/evolution_20260507_1804.md
?? tools/data/evolution/evolution_20260507_1938.md
?? tools/data/evolution/evolution_20260507_1957.md
?? tools/data/evolution/evolution_20260507_2042.md
?? tools/data/evolution/evolution_20260507_2120.md
?? tools/data/evolution/evolution_20260507_2203.md
?? tools/data/evolution/evolution_20260507_2310.md
?? tools/data/exp_det_drift_20260507_2042.json
?? tools/data/falsifier_20260507_2120.raw.txt
?? tools/data/g1_log.jsonl
?? tools/data/g2_log.jsonl
?? tools/data/incrocio_20260422_0336.json
?? tools/data/incrocio_20260423_0335.json
?? tools/data/incrocio_20260424_0347.json
?? tools/data/incrocio_20260425_0339.json
?? tools/data/incrocio_20260428_0340.json
?? tools/data/incrocio_20260429_0859.json
?? tools/data/incrocio_20260506_0633.json
?? tools/data/incrocio_20260507_2120.json
?? tools/data/incrocio_20260507_2157.json
?? tools/data/incrocio_20260507_2203.json
?? tools/data/incrocio_20260507_2310.json
?? tools/data/incrocio_20260508_0011.json
?? tools/data/incrocio_20260508_0020.json
?? tools/data/incrocio_20260508_0330.json
?? tools/data/lab_bridge_issues.jsonl
?? tools/data/logistic_counter_scope_gate_20260507_1006.json
?? tools/data/logistic_counter_scope_gate_20260507_1006_seedcheck.json
?? tools/data/logistic_cyclic_block_entropy_gate_20260507_1419.json
?? tools/data/logistic_cyclic_block_entropy_gate_20260507_1419_seedcheck.json
?? tools/data/logistic_surrogate_contract_gate_20260507_1042.json
?? tools/data/logistic_surrogate_contract_gate_20260507_1042_seedcheck.json
?? tools/data/magnitude_psd_from_acf.json
?? tools/data/markov3_observable_hunt.json
?? tools/data/markov_dipolar_decomposition.json
?? tools/data/markov_k_direction.json
?? tools/data/markov_layer_recovery_audit.json
?? tools/data/markov_memory_by_gue_type.json
?? tools/data/markov_scale_function.json
?? tools/data/meta_assertion_gate.json
?? tools/data/meta_tautology_test.json
?? tools/data/mod3_scaling.json
?? tools/data/mod3_vs_residual_ordering.json
?? tools/data/modular_algebra_depth.json
?? tools/data/modular_memory_spectrum.json
?? tools/data/observable_collinearity_breaking_20260506_1955.json
?? tools/data/observable_collinearity_breaking_20260506_1956.json
?? tools/data/observable_collinearity_breaking_20260506_1957.json
?? tools/data/observable_rank_audit.json
?? tools/data/observable_rank_audit_seed20260506.json
?? tools/data/observatorio/domandatore_unTouched_20260507_095914.md
?? tools/data/observatorio/lazarus_cimitero_20260507_100015.md
?? tools/data/observatorio/meta_metodo_giro_2026-05-07.md
?? tools/data/perturbation_dimensionality_audit.json
?? tools/data/perturbation_dimensionality_audit_scale0330.json
?? tools/data/perturbation_rank_size_curve.json
?? tools/data/promotions/
?? tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json
?? tools/data/reports/_quarantine_falsifier_29_04/
?? tools/data/reports/agent_20260422_0330.md
?? tools/data/reports/agent_20260422_1616.md
?? tools/data/reports/agent_20260423_0330.md
?? tools/data/reports/agent_20260424_0330.md
?? tools/data/reports/agent_20260425_0330.md
?? tools/data/reports/agent_20260426_0330.md
?? tools/data/reports/agent_20260427_0330.md
?? tools/data/reports/agent_20260428_0330.md
?? tools/data/reports/agent_20260429_1013.md
?? tools/data/reports/agent_20260429_1041.md
?? tools/data/reports/agent_20260430_0330.md
?? tools/data/reports/agent_20260430_1905.md
?? tools/data/reports/agent_20260430_1919.md
?? tools/data/reports/agent_20260430_1946.md
?? tools/data/reports/agent_20260501_0330.md
?? tools/data/reports/agent_20260501_0725.md
?? tools/data/reports/agent_20260501_0931.md
?? tools/data/reports/agent_20260502_0330.md
?? tools/data/reports/agent_20260503_0330.md
?? tools/data/reports/agent_20260504_0901.md
?? tools/data/reports/agent_20260504_1219.md
?? tools/data/reports/agent_20260505_0330.md
?? tools/data/reports/agent_20260505_1022.md
?? tools/data/reports/agent_20260506_0330.md
?? tools/data/reports/agent_20260506_0625.md
?? tools/data/reports/agent_20260506_1941.md
?? tools/data/reports/agent_20260506_1955.md
?? tools/data/reports/agent_20260507_0330.md
?? tools/data/reports/agent_20260507_0803.md
?? tools/data/reports/agent_20260507_0901.md
?? tools/data/reports/agent_20260507_0923.md
?? tools/data/reports/agent_20260507_0942.md
?? tools/data/reports/agent_20260507_1006.md
?? tools/data/reports/agent_20260507_1042.md
?? tools/data/reports/agent_20260507_1419.md
?? tools/data/reports/agent_20260507_1458.md
?? tools/data/reports/agent_20260507_1751.md
?? tools/data/reports/agent_20260507_1804.md
?? tools/data/reports/agent_20260507_1938.md
?? tools/data/reports/agent_20260507_1957.md
?? tools/data/reports/agent_20260507_2042.md
?? tools/data/reports/agent_20260507_2120.md
?? tools/data/reports/agent_20260507_2157.md
?? tools/data/reports/agent_20260507_2203.md
?? tools/data/reports/agent_20260507_2310.md
?? tools/data/reports/agent_20260508_0011.md
?? tools/data/reports/agent_20260508_0330.md
?? tools/data/reports/ddf_20260422_0405.json
?? tools/data/reports/ddf_20260423_0405.json
?? tools/data/reports/ddf_20260424_0405.json
?? tools/data/reports/ddf_20260425_0405.json
?? tools/data/reports/ddf_20260426_0405.json
?? tools/data/reports/ddf_20260427_0405.json
?? tools/data/reports/ddf_20260428_0405.json
?? tools/data/reports/ddf_20260429_0405.json
?? tools/data/reports/ddf_20260430_0405.json
?? tools/data/reports/ddf_20260501_0405.json
?? tools/data/reports/ddf_20260502_0405.json
?? tools/data/reports/ddf_20260503_0405.json
?? tools/data/reports/ddf_20260504_0405.json
?? tools/data/reports/ddf_20260505_0405.json
?? tools/data/reports/ddf_20260505_0636.json
?? tools/data/reports/ddf_20260506_0405.json
?? tools/data/reports/ddf_20260507_0405.json
?? tools/data/reports/evolution_20260422_0330.md
?? tools/data/reports/evolution_20260422_1616.md
?? tools/data/reports/evolution_20260423_0330.md
?? tools/data/reports/evolution_20260424_0330.md
?? tools/data/reports/evolution_20260425_0330.md
?? tools/data/reports/evolution_20260427_0330.md
?? tools/data/reports/evolution_20260428_0330.md
?? tools/data/reports/evolution_20260503_0330.md
?? tools/data/reports/evolution_20260504_0330.md
?? tools/data/reports/evolution_20260505_0330.md
?? tools/data/reports/evolution_20260506_0330.md
?? tools/data/reports/evolution_20260506_1941.md
?? tools/data/reports/falsifier_20260429_1013.json
?? tools/data/reports/falsifier_20260429_1041.json
?? tools/data/reports/falsifier_20260430_0330.json
?? tools/data/reports/falsifier_20260430_1905.json
?? tools/data/reports/falsifier_20260430_1919.json
?? tools/data/reports/falsifier_20260430_1946.json
?? tools/data/reports/falsifier_20260501_0330.json
?? tools/data/reports/falsifier_20260501_0725.json
?? tools/data/reports/falsifier_20260501_0931.json
?? tools/data/reports/falsifier_20260502_0330.json
?? tools/data/reports/falsifier_20260503_0330.json
?? tools/data/reports/falsifier_20260504_0901.json
?? tools/data/reports/falsifier_20260504_1219.json
?? tools/data/reports/falsifier_20260505_0330.json
?? tools/data/reports/falsifier_20260506_0330.raw.txt
?? tools/data/reports/falsifier_20260506_0625.json
?? tools/data/reports/falsifier_20260506_1941.json
?? tools/data/reports/falsifier_20260506_1955.json
?? tools/data/reports/falsifier_20260506_1955.raw.txt
?? tools/data/reports/falsifier_20260507_0330.json
?? tools/data/reports/falsifier_20260507_0330.raw.txt
?? tools/data/reports/falsifier_20260507_0803.json
?? tools/data/reports/falsifier_20260507_0803.raw.txt
?? tools/data/reports/falsifier_20260507_0901.json
?? tools/data/reports/falsifier_20260507_0923.json
?? tools/data/reports/falsifier_20260507_0923.raw.txt
?? tools/data/reports/falsifier_20260507_0942.json
?? tools/data/reports/falsifier_20260507_1006.json
?? tools/data/reports/falsifier_20260507_1042.json
?? tools/data/reports/falsifier_20260507_1042.raw.txt
?? tools/data/reports/falsifier_20260507_1419.json
?? tools/data/reports/falsifier_20260507_1458.json
?? tools/data/reports/falsifier_20260507_1458.raw.txt
?? tools/data/reports/falsifier_20260507_1751.json
?? tools/data/reports/falsifier_20260507_1804.json
?? tools/data/reports/falsifier_20260507_1938.json
?? tools/data/reports/falsifier_20260507_1938.raw.txt
?? tools/data/reports/falsifier_20260507_1957.json
?? tools/data/reports/falsifier_20260507_2042.json
?? tools/data/reports/falsifier_20260507_2120.json
?? tools/data/reports/falsifier_20260507_2203.json
?? tools/data/reports/falsifier_20260507_2310.json
?? tools/data/reports/falsifier_20260508_0011.json
?? tools/data/reports/incident_20260504_0721.md
?? tools/data/reports/incident_20260504_1138.md
?? tools/data/reports/latest.md
?? tools/data/reports/loop_guard_20260507_0330.json
?? tools/data/reports/loop_guard_20260507_0803.json
?? tools/data/reports/loop_guard_20260507_0901.json
?? tools/data/reports/loop_guard_20260507_0923.json
?? tools/data/reports/loop_guard_20260507_0942.json
?? tools/data/reports/loop_guard_20260507_1006.json
?? tools/data/reports/loop_guard_20260507_1042.json
?? tools/data/reports/loop_guard_20260507_1419.json
?? tools/data/reports/loop_guard_20260507_1458.json
?? tools/data/reports/loop_guard_20260507_1751.json
?? tools/data/reports/loop_guard_20260507_1804.json
?? tools/data/reports/loop_guard_20260507_1938.json
?? tools/data/reports/loop_guard_20260507_1957.json
?? tools/data/reports/loop_guard_20260507_2042.json
?? tools/data/reports/loop_guard_20260507_2120.json
?? tools/data/reports/loop_guard_20260507_2203.json
?? tools/data/reports/loop_guard_20260507_2310.json
?? tools/data/reports/loop_guard_20260508_0011.json
?? tools/data/reports/trajectory_apply_20260506_1931.json
?? tools/data/reports/trajectory_apply_20260506_1941.json
?? tools/data/reports/trajectory_apply_20260506_1955.json
?? tools/data/reports/trajectory_apply_20260507_0330.json
?? tools/data/reports/trajectory_apply_20260507_0803.json
?? tools/data/reports/trajectory_apply_20260507_0901.json
?? tools/data/reports/trajectory_apply_20260507_0923.json
?? tools/data/reports/trajectory_apply_20260507_0942.json
?? tools/data/reports/trajectory_apply_20260507_1006.json
?? tools/data/reports/trajectory_apply_20260507_1042.json
?? tools/data/scale_selective_perturbation.json
?? tools/data/selective_layer_decoupling.json
?? tools/data/seme_archive/piano_80.json
?? tools/data/seme_archive/piano_81.json
?? tools/data/seme_archive/piano_82.json
?? tools/data/seme_archive/piano_83.json
?? tools/data/seme_archive/piano_84.json
?? tools/data/seme_archive/piano_85.json
?? tools/data/semireal_order_denominator_gate_20260507_0923.json
?? tools/data/semireal_order_denominator_gate_20260507_0923_seedcheck.json
?? tools/data/spectral_rigidity_results.json
?? tools/data/tqge_underlay_gate_20260507_1751.json
?? tools/data/trajectory_apply_history.jsonl
?? tools/data/triadic_deposit_gate_20260507_1938.json
?? tools/data/two_channel_boundary.json
?? tools/data/two_channel_cross_domain.json
?? tools/data/two_channel_shuffle_audit.json
?? tools/data/two_layer_universality.json
?? tools/data/valutatore_log.jsonl
?? tools/data/veritas/veritas_20260505_131056.json
?? tools/data/veritas/veritas_20260505_131201.json
?? tools/data/veritas/veritas_20260506_033803.json
?? tools/data/veritas/veritas_20260506_063303.json
?? tools/data/veritas/veritas_20260506_194644.json
?? tools/data/veritas/veritas_20260506_200238.json
?? tools/data/veritas/veritas_20260507_033525.json
?? tools/data/veritas/veritas_20260507_080958.json
?? tools/data/veritas/veritas_20260507_090723.json
?? tools/data/veritas/veritas_20260507_093207.json
?? tools/data/veritas/veritas_20260507_094723.json
?? tools/data/veritas/veritas_20260507_101605.json
?? tools/data/veritas/veritas_20260507_104904.json
?? tools/data/veritas/veritas_20260507_142501.json
?? tools/data/veritas/veritas_20260507_150443.json
?? tools/data/veritas/veritas_20260507_175511.json
?? tools/data/veritas/veritas_20260507_180843.json
?? tools/data/veritas/veritas_20260507_194258.json
?? tools/data/veritas/veritas_20260507_200223.json
?? tools/data/veritas/veritas_20260507_204637.json
?? tools/data/veritas/veritas_20260507_212541.json
?? tools/data/veritas/veritas_20260507_221109.json
?? tools/data/veritas/veritas_20260507_231732.json
?? tools/data/veritas/veritas_20260508_002036.json
?? tools/data/vincoli_decay_log.jsonl
?? tools/evolution_report.md
?? tools/exp_3d_boundary_layers.py
?? tools/exp_blank_shell_dilation_gate.py
?? tools/exp_blank_shell_polarity_gate.py
?? tools/exp_blank_shell_scale_law.py
?? tools/exp_blank_shell_stratified_gate.py
?? tools/exp_blank_shell_tqger_gate.py
?? tools/exp_blank_to_source_hinge.py
?? tools/exp_boundary_coherence.py
?? tools/exp_boundary_mixture_gate.py
?? tools/exp_boundary_shuffle_audit.py
?? tools/exp_bridge_order_denominator_gate.py
?? tools/exp_brody_calibration.py
?? tools/exp_brody_flow.py
?? tools/exp_cross_domain_dipolar_direction.py
?? tools/exp_cross_observable_consistency.py
?? tools/exp_crossover_phase_test.py
?? tools/exp_denominator_gate_transfer_matrix.py
?? tools/exp_dipolar_angle_reference.py
?? tools/exp_dipolar_crossover.py
?? tools/exp_dipolar_vector_scaling.py
?? tools/exp_duality_gate_transfer.py
?? tools/exp_duality_scale_contrast.py
?? tools/exp_logistic_counter_scope_gate.py
?? tools/exp_logistic_cyclic_block_entropy_gate.py
?? tools/exp_logistic_surrogate_contract_gate.py
?? tools/exp_magnitude_psd_from_acf.py
?? tools/exp_markov3_observable_hunt.py
?? tools/exp_markov_dipolar_decomposition.py
?? tools/exp_markov_k_direction.py
?? tools/exp_markov_layer_recovery_audit.py
?? tools/exp_markov_memory_by_gue_type.py
?? tools/exp_markov_psd_prediction.py
?? tools/exp_markov_scale_function.py
?? tools/exp_meta_tautology_test.py
?? tools/exp_mod3_scaling.py
?? tools/exp_mod3_vs_residual_ordering.py
?? tools/exp_modular_algebra_depth.py
?? tools/exp_modular_memory_spectrum.py
?? tools/exp_observable_rank_audit.py
?? tools/exp_perturbation_dimensionality_audit.py
?? tools/exp_perturbation_rank_size_curve.py
?? tools/exp_quasiperiodic_gap_ratio_denominator.py
?? tools/exp_scale_selective_perturbation.py
?? tools/exp_selective_layer_decoupling.py
?? tools/exp_semireal_order_denominator_gate.py
?? tools/exp_spectral_rigidity.py
?? tools/exp_tqge_underlay_gate.py
?? tools/exp_triadic_deposit_gate.py
?? tools/exp_two_channel_boundary.py
?? tools/exp_two_channel_cross_domain.py
?? tools/exp_two_channel_shuffle_audit.py
?? tools/exp_two_layer_universality.py
?? tools/meta_assertion_gate.py
?? tools/observables_registry.py

exec
/bin/bash -lc 'python -m json.tool tools/data/seme.json >/tmp/seme.validated && python -m json.tool tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json >/tmp/qpg.validated' in /opt/MM_D-ND
 succeeded in 0ms:
exec
/bin/bash -lc 'python tools/exp_quasiperiodic_gap_ratio_denominator.py --out /tmp/qpg_rerun.json' in /opt/MM_D-ND
diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

 succeeded in 3059ms:
{
  "summary": {
    "balanced_random": {
      "first_two_ratio": {
        "count": 144,
        "median": 1.0341203926717948,
        "q25": 0.7469309192528899,
        "q75": 1.4924840555221253,
        "min": 0.24247848060945856,
        "max": 4.047606544114048
      },
      "top2_ratio": {
        "count": 144,
        "median": 1.1303988680629062,
        "q25": 1.0496190642655994,
        "q75": 1.2760270313425763,
        "min": 1.0025822389709598,
        "max": 2.1702756304742574
      },
      "large_gap_count": {
        "count": 144,
        "median": 54.5,
        "q25": 36.75,
        "q75": 72.0,
        "min": 17.0,
        "max": 124.0
      }
    },
    "bronze": {
      "first_two_ratio": {
        "count": 48,
        "median": 0.976328656385622,
        "q25": 0.5189397045601045,
        "q75": 1.096558849336012,
        "min": 0.29314290873577503,
        "max": 2.1100076500749556
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.4541743311141493,
        "q25": 1.292600772262387,
        "q75": 2.5352284031966463,
        "min": 1.0141581476637556,
        "max": 2.5383964288463825
      },
      "large_gap_count": {
        "count": 48,
        "median": 26.0,
        "q25": 18.0,
        "q75": 34.25,
        "min": 13.0,
        "max": 46.0
      }
    },
    "phi": {
      "first_two_ratio": {
        "count": 48,
        "median": 0.4543459022103822,
        "q25": 0.4083413244247327,
        "q75": 0.5475061378183159,
        "min": 0.19760258488709043,
        "max": 3.6949421868073524
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.5773729513272479,
        "q25": 1.4661487489339313,
        "q75": 1.7830327517010311,
        "min": 1.0387519136151724,
        "max": 2.4047341962550495
      },
      "large_gap_count": {
        "count": 48,
        "median": 29.0,
        "q25": 22.25,
        "q75": 35.0,
        "min": 14.0,
        "max": 43.0
      }
    },
    "silver": {
      "first_two_ratio": {
        "count": 48,
        "median": 1.0482231205217798,
        "q25": 0.7625901720799926,
        "q75": 1.4569419236533097,
        "min": 0.14835051316274986,
        "max": 2.1588585435400764
      },
      "top2_ratio": {
        "count": 48,
        "median": 1.4369260819022913,
        "q25": 1.280856913619239,
        "q75": 1.8033495968188422,
        "min": 1.0602356315960617,
        "max": 2.7143543049608003
      },
      "large_gap_count": {
        "count": 48,
        "median": 27.0,
        "q25": 17.75,
        "q75": 35.0,
        "min": 12.0,
        "max": 43.0
      }
    }
  },
  "matched_comparison": {
    "count": 48,
    "phi_lt_silver": 38,
    "phi_lt_bronze": 30,
    "phi_lt_both": 25
  },
  "out": "/tmp/qpg_rerun.json"
}

diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

exec
/bin/bash -lc 'test -f tools/structural_check.py && python tools/structural_check.py tools/exp_quasiperiodic_gap_ratio_denominator.py tools/data/reports/agent_20260508_0330.md || true' in /opt/MM_D-ND
 succeeded in 0ms:
Scansione 2 file...
Nessun anti-pattern trovato.

diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

codex
Esperimento eseguito e report scritto in [agent_20260508_0330.md](/opt/MM_D-ND/tools/data/reports/agent_20260508_0330.md).

Ho aggiunto lo strumento [exp_quasiperiodic_gap_ratio_denominator.py](/opt/MM_D-ND/tools/exp_quasiperiodic_gap_ratio_denominator.py) e i dati in [quasiperiodic_gap_ratio_denominator_20260508_0330.json](/opt/MM_D-ND/tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json). Ho anche aggiornato `tools/data/seme.json` con il vincolo `QPG_GAP_RATIO_DENOMINATOR_GATE`.

Verdict: `CONSTRAINT`. Il valore storico replica esattamente (`phi=0.408953` a `N=500`, `phase=0`, `threshold=2.0`), ma aprendo il denominatore phi batte entrambi i controlli solo `25/48` condizioni matched. Il claim corretto non è gap-labeling universale: è un segnale sensibile a `N/phase/threshold`.

Verifiche fatte: JSON valido, rerun dello script riproducibile, `structural_check.py` senza anti-pattern.
diff --git a/tools/data/reports/agent_20260508_0330.md b/tools/data/reports/agent_20260508_0330.md
new file mode 100644
index 0000000000000000000000000000000000000000..03ca32c8b407b1ac31eef502da37a85107d23fec
--- /dev/null
+++ b/tools/data/reports/agent_20260508_0330.md
@@ -0,0 +1,80 @@
+# Agent Report — Gap Ratio Porta Il Denominatore
+**Date**: 2026-05-08 03:30
+**Piano**: 86
+**Tension explored**: M_trascendenza_limite_attuale_L0 (0.529179606750063)
+**verdict**: CONSTRAINT
+observables_registry: n/a
+observables_used: [first_two_ratio, top2_ratio, large_gap_count]
+
+## 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 `gap_ratio` quasiperiodico e una firma del gap-labeling di phi, o e un osservabile sensibile al denominatore scelto (`N`, fase Sturmiana, soglia del gap largo)?
+
+## Experiment Design
+- Perimetro: Hamiltoniana tight-binding su sequenze Sturmiane a `V=1`.
+- Domini: `theta=1/phi`, `1/silver`, `1/bronze`; baseline `balanced_random` con stesso numero di 1 della sequenza phi matched.
+- Denominatore stratificato: `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`.
+- Osservabile originale: `first_two_ratio = primo spacing sopra threshold*mean / secondo spacing sopra threshold*mean`.
+- Osservabile di controllo interno: `top2_ratio = gap massimo / secondo gap massimo`.
+- Null baseline: 3 random bilanciati per condizione, stessa lunghezza e stesso conteggio di 1 del phi matched.
+
+## Results
+Caso storico replicato:
+
+| domain | N | phase | threshold | n_large | first_two_ratio | top2_ratio |
+|---|---:|---:|---:|---:|---:|---:|
+| phi | 500 | 0.00 | 2.00 | 30 | 0.408953 | 1.132017 |
+| silver | 500 | 0.00 | 2.00 | 36 | 1.048223 | 1.060236 |
+| bronze | 500 | 0.00 | 2.00 | 34 | 1.302786 | 1.164995 |
+
+Stratificazione completa:
+
+| domain | first_two median | first_two IQR | first_two range | top2 median | n_large median |
+|---|---:|---:|---:|---:|---:|
+| phi | 0.454346 | 0.408341-0.547506 | 0.197603-3.694942 | 1.577373 | 29.0 |
+| silver | 1.048223 | 0.762590-1.456942 | 0.148351-2.158859 | 1.436926 | 27.0 |
+| bronze | 0.976329 | 0.518940-1.096559 | 0.293143-2.110008 | 1.454174 | 26.0 |
+| balanced_random | 1.034120 | 0.746931-1.492484 | 0.242478-4.047607 | 1.130399 | 54.5 |
+
+Matched comparison:
+
+| comparison | count |
+|---|---:|
+| phi < silver | 38/48 |
+| phi < bronze | 30/48 |
+| phi < both | 25/48 |
+
+## Key Findings
+1. **Il valore vecchio e verificato, non inventato.** A `N=500`, `phase=0`, `threshold=2.0`, il test riproduce `phi=0.408953`, `silver=1.048223`, `bronze=1.302786`. Fonte: output dello script, verificato.
+
+2. **Il claim universale non regge.** Quando il denominatore viene aperto, phi batte entrambi i controlli solo in `25/48` condizioni matched. In `23/48` condizioni almeno un controllo ha `first_two_ratio` piu basso. Fonte: stratificazione, verificato.
+
+3. **Il ratio originale misura posizione del primo varco largo, non solo taglia dei varchi.** Il controllo `top2_ratio` non replica la separazione: phi ha mediana `1.577373`, sopra silver `1.436926`, bronze `1.454174` e random `1.130399`. Inferito dal confronto tra `first_two_ratio` e `top2_ratio`.
+
+4. **Il nodo regressivo e il denominatore dell'osservabile.** `first_two_ratio` non e una proprieta bulk dello spettro; dipende da quali due gap superano per primi la soglia lungo l'ordine spettrale. Il claim valido deve dichiarare `N`, fase e soglia come parte atomica.
+
+## Verdict
+**CONSTRAINT on TRASCENDENZA_LIMITE / M_trascendenza_limite_attuale_L0**: il `gap_ratio` phi non conferma gap-labeling come claim generale. Conferma un segnale di denominatore Sturmiano nel punto storico e una tendenza mediana su questo perimetro; non conferma dominanza matched su tutte le fasi, scale e soglie. La formulazione corretta e: nel perimetro stratificato `N={233,377,500,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={1.75,2.0,2.25}`, phi abbassa la mediana del `first_two_ratio`, ma il supporto matched e `25/48`.
+
+## Bicono della scoperta
+- **Due radici**: valore puntuale replicato · denominatore stratificato che lo vincola.
+- **Singolare**: l'ordine spettrale dei gap larghi, dove il primo e il secondo varco diventano osservabile.
+- **Invariante di passaggio**: resta la necessita del denominatore `N/phase/threshold`; non resta il claim di gap-labeling universale.
+- **Campo di possibilita**: qui diventa possibile cercare una firma robusta nei label dei gap, non nella coppia dei primi due gap sopra soglia; qui diventa non-possibile usare `0.408953` come prova senza denominatore atomico.
+
+## Consecutio
+Costruire il passo successivo sul label, non sul ratio: per ogni gap largo, stimare il miglior label `m+n*theta` e misurare stabilita del label-set sotto `phase`, `N` e soglia. Se il label-set di phi resta stabile mentre `first_two_ratio` si muove, la trascendenza passa dal valore metrico alla tassonomia dei varchi.
+
+## Auto-audit: 5 lenti
+- **L1 hard constraint vs bias**: nessun "sempre"; il report include i `23/48` contro-casi matched.
+- **L2 quantita vs ratio**: riporto mediane, IQR, range, conteggi matched e caso storico.
+- **L3 no silent patching**: il claim originale e vincolato esplicitamente, non salvato cambiando nome al risultato.
+- **L4 edge cases**: i casi `N=233 phase=0.25/0.75` e `N=377 phase=0/0.25` entrano nel verdict come rotture del claim universale.
+- **L5 re-discovery**: tight-binding Sturmiano e gap spacing sono strumenti standard; il finding e nel denominator gate, non nella diagonalizzazione.
+
+## Files
+- Script: `tools/exp_quasiperiodic_gap_ratio_denominator.py`
+- Data: `tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json`
+- Report: `tools/data/reports/agent_20260508_0330.md`
diff --git a/tools/data/seme.json b/tools/data/seme.json
index 662dfc4a0cdda7207d78af3d1402c9e2b01a59d6..1836c262f783e3ddd0f777670e3eceb0c24efc57
--- a/tools/data/seme.json
+++ b/tools/data/seme.json
@@ -187,6 +187,17 @@
       "porta": "novità"
     },
     {
+      "tipo": "vincolo",
+      "id": "QPG_GAP_RATIO_DENOMINATOR_GATE",
+      "claim": "Nel perimetro agent_20260508_0330, il vecchio gap_ratio quasiperiodico replica esattamente a N=500 phase=0 threshold=2.0 (phi=0.408953, silver=1.048223, bronze=1.302786), ma non e claim universale. Stratificando N in {233,377,500,610}, phase in {0,0.25,0.5,0.75}, threshold in {1.75,2.0,2.25}, phi ha mediana first_two_ratio=0.454 contro silver=1.048 e bronze=0.976; batte entrambi i controlli solo 25/48 condizioni matched. Il ratio va formulato come segnale phase/threshold-sensitive del denominatore Sturmiano, non come gap-labeling confermato.",
+      "intensita": 0.77,
+      "manuale": true,
+      "porta": "TRASCENDENZA_LIMITE",
+      "condensato_ref": "A4,A8,A14,C2",
+      "origine": "cycle agent_20260508_0330: quasiperiodic_gap_ratio_denominator",
+      "added_at": "2026-05-08T03:30:00+00:00"
+    },
+    {
       "tipo": "simmetria_sospetta",
       "id": "META",
       "claim": "11/11 PASS stratificato: 4 alto rischio tautologico, 6 data-independent",
@@ -545,4 +556,4 @@
       "timestamp": "2026-04-04T19:34:08.014Z"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/tools/exp_quasiperiodic_gap_ratio_denominator.py b/tools/exp_quasiperiodic_gap_ratio_denominator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc92ae824af3b9edbabf13288fbee0d1b5f5aba2
--- /dev/null
+++ b/tools/exp_quasiperiodic_gap_ratio_denominator.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python3
+"""
+Stratified denominator audit for the quasiperiodic gap_ratio claim.
+
+The old domandatore observable was:
+  first spacing above threshold * mean / second spacing above threshold * mean
+at one N, one phase, one threshold.
+
+This tool keeps that observable but exposes its denominator:
+N, Sturmian phase, threshold, metallic control, and a balanced random baseline.
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+from numpy.linalg import eigvalsh
+
+
+PHI = (1 + np.sqrt(5)) / 2
+SILVER = 1 + np.sqrt(2)
+BRONZE = 1 + np.sqrt(3)
+
+
+def sturmian_sequence(theta: float, n: int, phase: float = 0.0) -> np.ndarray:
+    idx = np.arange(n + 1, dtype=float)
+    vals = np.floor(idx * theta + phase)
+    return np.diff(vals).astype(float)
+
+
+def hamiltonian(seq: np.ndarray, v: float = 1.0) -> np.ndarray:
+    n = len(seq)
+    h = np.zeros((n, n), dtype=float)
+    h[np.arange(n), np.arange(n)] = v * seq
+    off = np.arange(n - 1)
+    h[off, off + 1] = 1.0
+    h[off + 1, off] = 1.0
+    return h
+
+
+def gap_observables(seq: np.ndarray, threshold: float) -> dict:
+    eigs = np.sort(eigvalsh(hamiltonian(seq)))
+    spacings = np.diff(eigs)
+    mean_sp = float(np.mean(spacings))
+    large = [(int(i), float(sp)) for i, sp in enumerate(spacings) if sp > threshold * mean_sp]
+    if len(large) >= 2:
+        first_two_ratio = large[0][1] / large[1][1]
+    else:
+        first_two_ratio = None
+
+    top = sorted((float(sp) for sp in spacings), reverse=True)
+    top2_ratio = top[0] / top[1] if len(top) >= 2 and top[1] > 0 else None
+    return {
+        "n_large": len(large),
+        "first_two_ratio": first_two_ratio,
+        "top2_ratio": top2_ratio,
+    }
+
+
+def finite(values: list[float | None]) -> np.ndarray:
+    return np.array([v for v in values if v is not None and np.isfinite(v)], dtype=float)
+
+
+def summarize(values: list[float | None]) -> dict:
+    arr = finite(values)
+    if len(arr) == 0:
+        return {"count": 0}
+    return {
+        "count": int(len(arr)),
+        "median": float(np.median(arr)),
+        "q25": float(np.quantile(arr, 0.25)),
+        "q75": float(np.quantile(arr, 0.75)),
+        "min": float(np.min(arr)),
+        "max": float(np.max(arr)),
+    }
+
+
+def run(args: argparse.Namespace) -> dict:
+    rng = np.random.default_rng(args.seed)
+    domains = {
+        "phi": 1 / PHI,
+        "silver": 1 / SILVER,
+        "bronze": 1 / BRONZE,
+    }
+    ns = [int(x) for x in args.ns.split(",")]
+    phases = [float(x) for x in args.phases.split(",")]
+    thresholds = [float(x) for x in args.thresholds.split(",")]
+
+    rows = []
+    for n in ns:
+        for phase in phases:
+            for threshold in thresholds:
+                condition = {"N": n, "phase": phase, "threshold": threshold}
+                matched = {}
+                for name, theta in domains.items():
+                    seq = sturmian_sequence(theta, n, phase)
+                    obs = gap_observables(seq, threshold)
+                    matched[name] = obs
+                    rows.append({"domain": name, **condition, **obs})
+
+                ones = int(np.sum(sturmian_sequence(1 / PHI, n, phase)))
+                for trial in range(args.random_trials):
+                    seq = np.array([1.0] * ones + [0.0] * (n - ones))
+                    rng.shuffle(seq)
+                    obs = gap_observables(seq, threshold)
+                    rows.append({"domain": "balanced_random", "trial": trial, **condition, **obs})
+
+                phi_v = matched["phi"]["first_two_ratio"]
+                silver_v = matched["silver"]["first_two_ratio"]
+                bronze_v = matched["bronze"]["first_two_ratio"]
+                if phi_v is not None and silver_v is not None and bronze_v is not None:
+                    rows.append({
+                        "domain": "_matched_comparison",
+                        **condition,
+                        "phi_lt_silver": bool(phi_v < silver_v),
+                        "phi_lt_bronze": bool(phi_v < bronze_v),
+                        "phi_value": phi_v,
+                        "silver_value": silver_v,
+                        "bronze_value": bronze_v,
+                    })
+
+    by_domain = {}
+    for domain in sorted({r["domain"] for r in rows if not r["domain"].startswith("_")}):
+        subset = [r for r in rows if r["domain"] == domain]
+        by_domain[domain] = {
+            "first_two_ratio": summarize([r.get("first_two_ratio") for r in subset]),
+            "top2_ratio": summarize([r.get("top2_ratio") for r in subset]),
+            "large_gap_count": summarize([r.get("n_large") for r in subset]),
+        }
+
+    comparisons = [r for r in rows if r["domain"] == "_matched_comparison"]
+    comparison_summary = {
+        "count": len(comparisons),
+        "phi_lt_silver": int(sum(r["phi_lt_silver"] for r in comparisons)),
+        "phi_lt_bronze": int(sum(r["phi_lt_bronze"] for r in comparisons)),
+        "phi_lt_both": int(sum(r["phi_lt_silver"] and r["phi_lt_bronze"] for r in comparisons)),
+    }
+
+    output = {
+        "experiment": "quasiperiodic_gap_ratio_denominator",
+        "parameters": {
+            "ns": ns,
+            "phases": phases,
+            "thresholds": thresholds,
+            "random_trials": args.random_trials,
+            "seed": args.seed,
+        },
+        "summary": by_domain,
+        "matched_comparison": comparison_summary,
+        "rows": rows,
+    }
+    return output
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--ns", default="233,377,500,610")
+    parser.add_argument("--phases", default="0,0.25,0.5,0.75")
+    parser.add_argument("--thresholds", default="1.75,2.0,2.25")
+    parser.add_argument("--random-trials", type=int, default=3)
+    parser.add_argument("--seed", type=int, default=20260508)
+    parser.add_argument("--out", default="tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json")
+    args = parser.parse_args()
+
+    output = run(args)
+    out = Path(args.out)
+    out.parent.mkdir(parents=True, exist_ok=True)
+    out.write_text(json.dumps(output, indent=2), encoding="utf-8")
+
+    print(json.dumps({
+        "summary": output["summary"],
+        "matched_comparison": output["matched_comparison"],
+        "out": str(out),
+    }, indent=2))
+
+
+if __name__ == "__main__":
+    main()

tokens used
110,347
Esperimento eseguito e report scritto in [agent_20260508_0330.md](/opt/MM_D-ND/tools/data/reports/agent_20260508_0330.md).

Ho aggiunto lo strumento [exp_quasiperiodic_gap_ratio_denominator.py](/opt/MM_D-ND/tools/exp_quasiperiodic_gap_ratio_denominator.py) e i dati in [quasiperiodic_gap_ratio_denominator_20260508_0330.json](/opt/MM_D-ND/tools/data/quasiperiodic_gap_ratio_denominator_20260508_0330.json). Ho anche aggiornato `tools/data/seme.json` con il vincolo `QPG_GAP_RATIO_DENOMINATOR_GATE`.

Verdict: `CONSTRAINT`. Il valore storico replica esattamente (`phi=0.408953` a `N=500`, `phase=0`, `threshold=2.0`), ma aprendo il denominatore phi batte entrambi i controlli solo `25/48` condizioni matched. Il claim corretto non è gap-labeling universale: è un segnale sensibile a `N/phase/threshold`.

Verifiche fatte: JSON valido, rerun dello script riproducibile, `structural_check.py` senza anti-pattern.
