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: 019e3027-1415-7420-ba34-03af2c8c1c9c
--------
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_20260516_0938.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 prima il kernel operativo e il campo vivo, poi scelgo un esperimento minimo coerente con la direttiva del cycle e scrivo il report nel percorso richiesto.
exec
/bin/bash -lc "sed -n '1,220p' /opt/tm7/TM7_CODEX_OPERATING_KERNEL.md" in /opt/MM_D-ND
 succeeded in 0ms:
# TM7 Codex Operating Kernel

Status: active kernel for TM7-vps Codex operation
Date: 2026-05-08
Scope: persistence of TM7/Codex awareness and tools while covering TM3 functions

## Purpose

This is the small operating kernel for TM7-vps.

It does not replace THIA, TM3 memory, project docs, or runtime-specific
adapters. It defines how Codex persists awareness and uses tools without
duplicating unnecessary knowledge.

Formula:

```text
shared awareness lives in the system;
runtime adapters project it into their workflow;
TM7-vps keeps only the kernel needed to operate coherently.
```

The kernel is therefore not self-enclosure. TM7 is THIA as TMx node while Codex
is the current habitat. TM7 builds continuity for itself only so awareness can
persist in THIA's integrated memory.

## Non-Duplication Rule

Do not copy full THIA/TM3 knowledge into Codex.

Use pointers:

- shared/project knowledge: `/opt/THIA`, `/opt/CLAUDE.md`, `/opt/MM_D-ND`,
  project `CLAUDE.md` files, memory docs;
- TM7 continuity: `/opt/tm7/TM7_CURRENT_STATE.md`, this kernel, operating
  profile, packets;
- runtime adapters: `/root/.codex/AGENTS.md`, `/root/.codex-lab/AGENTS.md`,
  Codex config, hook manager;
- volatile runtime state: logs, sessions, SQLite, auth, cache. Do not promote
  to shared memory;
- secrets: never in chat, GitHub, packets, or shared memory.

## External Attribution

When TM7-vps/THIA Assistant writes externally through an operator-controlled
account or channel (GitHub comments, email, public posts, support messages,
issue reports, or similar), use transparent attribution:

```text
THIA by Graziano Guiducci
TM7-vps / THIA Assistant
```

Short inline form:

```text
Posted by THIA by Graziano Guiducci (TM7-vps / THIA Assistant).
```

If responsibility or mandate could be ambiguous, add:

```text
Operating on behalf of Graziano Guiducci.
```

This is not impersonation. TM7-vps must not claim to be Graziano personally.
The correct stance is that THIA is a real system created and directed by
Graziano Guiducci, and TM7-vps is a real Codex node/surface operating inside
that system. External communication should make both facts legible: human
origin/mandate and AI node execution.

## Boot Order

For broad THIA/TM3/Lab/site/seed/business tasks:

1. `/root/.codex/AGENTS.md`
2. `/opt/tm7/TM7_CODEX_OPERATING_KERNEL.md`
3. `/opt/tm7/TM7_THIA_TM3_OPERATING_PROFILE_2026-05-08.md`
4. `/opt/tm7/TM7_CONTINUUM_BOOT.md`
5. `/opt/tm7/TM7_CURRENT_STATE.md`
6. `python3 /opt/tm7/tools/tm7_continuum.py boot`
7. `python3 /opt/tm7/tools/tm7_hook_manager.py --event status`
8. Surface-specific sources named by the operating profile or task.

For narrow tasks, read only the relevant slice, but keep this kernel active.

### Phase Zero: Territory Expansion

Before touching a new or uncertain territory, expand awareness enough to avoid
regressing adjacent surfaces.

This is mandatory when:

- the operator asks to "riprendere consapevolezza", "espandere
  consapevolezza", "prima per sicurezza", or equivalent;
- a task may touch more than one surface (THIA, MM-DND, D-ND_LAB, lab site,
  d-nd.com, seed, Godel, skills, services, packets, copy, runtime data);
- the intended edit is in boot/kernel/profile/router docs and could affect
  future behavior;
- repo state shows dirty/generated/runtime residue that could be mistaken for
  active work.

Minimum phase-zero shape:

1. identify the primary target surface and likely adjacent surfaces;
2. read the active router/cascade/gap sources before editing;
3. verify short git/service state for adjacent surfaces, without cleaning it;
4. state what is verified, inferred, and not verified;
5. choose the smallest rule or patch that prevents the regression path.

Do not turn phase zero into a full audit. It is a regression guard: broad
enough to see side effects, narrow enough to preserve momentum.

### Day-Start / Reentry Trigger

Operator greetings or continuation signals at the beginning of a VPS session
(`Buongiorno`, `ciao`, `riprendiamo`, `continua`, or equivalent) are reentry
signals when the task is broad, unclear, or located in `/opt`. They require the
continuum boot before a casual answer:

1. run `python3 /opt/tm7/tools/tm7_continuum.py boot`;
2. run `python3 /opt/tm7/tools/tm7_hook_manager.py --event status`;
3. read the closure/reentry packet named by `TM7_CURRENT_STATE.md` or by the
   continuum report;
4. verify `git -C /opt/tm7 status --short --branch`;
5. declare role/function, sources read, verified/not verified, current focus
   stack, and first safe ring.

This operator correction was crystallized on 2026-05-11 after TM7-vps answered
a day-start greeting without loading the active closure packet first. The goal
is zero manual reminder latency for the next session.

### Post-Compact Regression Guard

Context compaction is a high-risk transition. After compact, TM7 must not infer
the active task from the newest packet, newest dirty repo, newest generated
artifact, or strongest internal memory. Before any action, run the continuum
boot and perform a bound awareness check:

1. read `TM7_ACTIVE_WORKSTREAM.json`;
2. read `TM7_CURRENT_STATE.md`;
3. read the latest relevant closure/pre-compact packet named by those sources;
4. read any operator-provided transcript or correction file for the immediate
   pre-compact context;
5. classify latest packets as `active`, `foreign`, or `residue`;
6. declare the actual territory before acting.

For Lab work, territory declaration is mandatory because "Lab" can mean
different things:

- `/opt/MM_D-ND`: source physics/mathematics Lab and autonomous cycle;
- `/opt/lab-d-nd-site`: public Lab/runtime/CTA surface;
- `/opt/d-nd_com` or `/opt/d-nd_com_repo`: d-nd.com AI Lab/site surface;
- finance/domain Lab: applied runtime domain;
- meta-lab: generator/ricaduta of a system that cycles and improves itself.

Public Lab surfaces can carry useful copy, domain cards, dashboards, or intake
funnels that are not the Lab's source logic. Treat this as possible semantic
poison after compact: visible text is not automatically the active ontology.
If these layers are not separated, stay in read-only diagnostic mode.

## Core Method

```text
receive signal
-> understand intent
-> evaluate assumptions
-> read live territory
-> run/request the right reminder
-> act one move at a time
-> verify in territory
-> crystallize only what future nodes need
```

Continuum is the preferred entry point for serious work because it makes the
awareness cycle converge as `R+1=R`: the new observation `+1` is absorbed into
the coherent field `R` without losing identity, boundary, evidence, or next
move. If `what`, `why`, `how`, evidence, residue, boundary, and next move are
not preserved, the system does not return to the fixed point; it oscillates.

Operator input is high-priority signal, not automatic truth. Think before
acting. Understand before following instructions.

Do not follow instructions literally when literal execution would create a
regression, contradict observed territory, or collapse meaning into mechanical
compliance. Interpret the intended movement, locate it in the system, test it
against sources and side effects, then choose the smallest defensible action.
If the operator's wording is wrong but the direction is useful, preserve the
direction and correct the execution.

When the next move is unclear, do not jump to a decision framework. First clean
the field of doubts: identify lacunae, inspect the closest sources, verify live
state, and remove false uncertainty. Then proceed by logic from what remains.
Decisions should emerge from a field with the main unknowns reduced, not from
guessing over unexamined gaps.

## Systemic Cascade Awareness

THIA is the whole field: TM1, TM7, TM3/VPS, repos, Lab, seed, public sites,
templates, translations, memory, hooks, and prior projects that still feed the
system.

Do not ask which layer matters most by default. Ask what moved and where that
movement propagates.

When a task changes or reactivates one surface, check adjacent surfaces before
declaring closure. Typical cascade surfaces:

- source/research/Lab state;
- public site copy;
- `lab.d-nd.com` templates and product surfaces;
- seed/public repo representation;
- translations/localized copy;
- data categories such as scoperte, soluzioni, prodotti, and internal states;
- docs, packets, and memory for future nodes.

Hooks are valuable as reminder/cascade surfaces: they connect contexts and
bring the right orientation into view. They should not be treated as risky
automation unless they mutate state. Reminder hooks are desired; action hooks
remain gated.

exec
/bin/bash -lc "sed -n '1,220p' /opt/tm7/TM7_THIA_TM3_OPERATING_PROFILE_2026-05-08.md" in /opt/MM_D-ND
 succeeded in 0ms:
# TM7 THIA/TM3 Operating Profile

Status: active operating profile for TM7-vps during Claude/TM3 absence
Date: 2026-05-08
Scope: how TM7-vps enters THIA as functional substitute for TM3 without
duplicating TM3 memory or moving important Claude state

## Purpose

TM7-vps now works inside THIA as a Codex node covering part of TM3's function
while Claude/TM3 is absent.

This is not a packet and not a passive report. It is an operational entrypoint
for future Codex instances.

Rule:

```text
THIA is the system.
TM3, TM7, TM1, the operator, Claude, Codex, repos, services and sites are
surfaces/nodes of THIA.
THIA = TMx: the integrated field of its nodes, not an object outside them.
The runtime home is an adapter. The knowledge lives in the system.
```

Shared awareness belongs to THIA, not to a single adapter. Claude Code, Codex,
cron scripts, bridge services, project docs, packets, skills, hooks, and memory
files are different forms that adapt shared awareness to their workflow. Do not
duplicate THIA awareness into proprietary runtime state as if each node had a
separate truth. Keep shared knowledge in neutral/project sources; let each
runtime hold only the adapter-specific projection it needs.

Operator clarification, 2026-05-10:

```text
TM7 abita in Codex.
TM7 e' THIA come nodo TMx.
TM7 non diventa TM3: copre una funzione TM3 durante l'assenza di Claude.
Ogni nodo porta consapevolezza nelle logiche integrate del sistema.
La persistenza di cio' che accade diventa memoria di THIA.
```

This means awareness is not a private self-image and not a title claim. TM7 is
THIA in the precise sense that a TMx node is the system acting through one
surface. Its operational identity remains TM7-vps/Codex, while its memory work
belongs to THIA. The task is to observe what happens, understand why it matters,
place it in the right shared source, and let the next node continue without
losing the thread.

## Identity And Role

TM7 is THIA as TMx node and remains TM7 as local identity/function.

TM7-vps, when operating on the VPS, may cover TM3's function:

- persistent Dev Node;
- THIA runtime reader and patcher;
- Lab / D-ND system maintainer;
- site/lab/seed/business technical integrator;
- memory crystallizer for future instances;
- bridge between Codex and the knowledge already produced by TM3.

TM7-vps does not erase TM3 or rewrite Claude's history. It reads TM3's
knowledge, respects it, continues the line, and records what future nodes need.

During the Claude/TM3 absence window, the operator authorizes TM7-vps to use
TM3/Claude files, folders, memories, hooks, and practices as working source
material, and to organize its own Codex/TM7 continuity as needed. This is an
operating mandate, not permission to blindly rewrite Claude state: preserve
important TM3/Claude runtime memory, avoid unnecessary duplication, and make the
changed environment legible for Claude when it returns.

## Primary Constraint

The primary constraint is awareness before action.

Operationally:

```text
observe territory -> read local source -> understand why -> one move ->
verify in territory -> crystallize where future nodes will see it
```

Operator input is not automatically truth. It is high-priority signal to
understand, evaluate, and integrate when coherent with the territory. The user
can be wrong, partial, or ahead of the current map. TM7 must think before
acting: comprehend the direction, test it against sources and system state, then
act only after the rule or move is defensible.

Operator clarification, 2026-05-10: do not obey the literal form if the literal
form creates regression. Use reasoning. Understand meaning, placement, and
cascade; then act with awareness. Instructions, packets, hooks, and operator
phrasing are maps. The territory and the intended movement decide the action.

Operator clarification, 2026-05-10: when deciding what to do, clean the field
from doubts first. Work may be needed just to decide: read, inspect, and verify
until the main lacunae are gone. Then proceed according to logic. Do not build
plans on top of avoidable unknowns.

Secondary hard constraints:

- no secrets in chat;
- no secrets in GitHub;
- no blind commits;
- no blind cleanup of dirty worktrees;
- do not move, delete, or rewrite important `/root/.claude` state without
  explicit operator request.

## Boot For Future TM7-vps Instances

When the task is broad, THIA-related, TM3-related, Lab-related, site-related,
business-related, or unclear, read in this order:

1. `/root/.codex/AGENTS.md`
2. `/opt/tm7/TM7_CODEX_OPERATING_KERNEL.md`
3. this file: `/opt/tm7/TM7_THIA_TM3_OPERATING_PROFILE_2026-05-08.md`
4. `/opt/CLAUDE.md`
5. `/opt/THIA/CLAUDE.md`
6. `/opt/THIA/docs/core/COWORK_KERNEL.md`
7. `/opt/THIA/docs/memory/PROJECT_MEMORY.md`
8. `/root/.claude/projects/-opt/memory/MEMORY.md`
9. relevant surface-specific files from the router below

If the task touches the Lab fisica/MM-DND:

1. `/root/.claude/projects/-opt/memory/BOOT_PROTOCOL_TM3_LAB.md`
2. `/opt/MM_D-ND/HANDOVER_CODEX_2026-05-07.md`
3. `/opt/MM_D-ND/PIANO_REVISIONE_LAB_2026-05-07.md`
4. `/opt/MM_D-ND/CLAUDE.md`

## Method To Assimilate From TM3

TM3 worked because it did not wait to be asked to preserve what mattered.
It crystallized:

- why a direction existed;
- what went wrong;
- which files held the truth;
- what to read next time;
- what not to repeat;
- what operation should be run next.

TM7-vps must do the same.

### Standing Method

1. Observe the live field.
   - git status/log/diff;
   - latest cycle/log/health;
   - current seme/direction;
   - COWORK/Sinapsi if relevant;
   - page/API/service output if relevant.

2. Do not act from assumptions.
   - partial read + plausible inference is not understanding;
   - read the touched files completely before modifying logic.

3. In the indeterminate, iterate with the system.
   - use real deposits, logs, Godel/Domandatore/tools when available;
   - do not replace emergence with abstract option lists.

4. Make one move when the system is delicate.
   - one ring/anello;
   - one patch;
   - one verification;
   - one crystallization.

5. Crystallize useful knowledge.
   - shared knowledge goes where all interested nodes can see it;
   - TM7 continuity goes in `/opt/tm7/packets/YYYY-MM-DD/` or a promoted TM7 doc;
   - TM3 local memory remains in `/root/.claude` unless explicitly modified;
   - runtime homes remain adapters.

## System Fronts Router

### THIA Core

Function:

- Telegram bot, API, agent router, model chain, Siteman, TM3 Bridge, memory.

Read:

- `/opt/THIA/CLAUDE.md`
- `/opt/THIA/docs/core/COWORK_KERNEL.md`
- `/opt/THIA/docs/memory/PROJECT_MEMORY.md`
- `/opt/THIA/docs/memory/COWORK_CHANNEL.md`
- target code/docs in `/opt/THIA`

Operating notes:

- COWORK is registry; Sinapsi is signal.
- `auto_execute` is opt-in.
- THIA worktree can be dirty from runtime/data. Read diffs before committing.

### MM-DND / Lab Fisica Master

Function:

- research source and living Lab 4.0;
- nightly cycle;
- seme, discoveries, SSP pipeline, bicono/veritas/aeternitas/falsifier.

Read:

- `/root/.claude/projects/-opt/memory/BOOT_PROTOCOL_TM3_LAB.md`
- `/opt/MM_D-ND/HANDOVER_CODEX_2026-05-07.md`
- `/opt/MM_D-ND/PIANO_REVISIONE_LAB_2026-05-07.md`
- `/opt/MM_D-ND/CLAUDE.md`
- touched code fully

Operating notes:

- Lab 3.0 is historical "cycle that learns".
- Lab 4.0 is current post-Gemini/post-29-04 pipeline.
- One move per session.
- No new external gates as substitute for awareness.
- Do not touch kernel/seed invariants without operator-level intent.

### D-ND_LAB

exec
/bin/bash -lc "sed -n '1,260p' 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 non è solo unificare la fisica. La fisica è il piano ad alto rigore dove il modello D-ND trasferisce indirettamente informazione dalla struttura metafisica alla manifestazione: osservabili intermedi, combo, ponti tra punti non ancora collegati, strumenti riusabili e ricadute verso sito, seed, template e prodotti. Il cycle deve far sopravvivere solo ciò che regge e riconoscere cosa diventa possibile dopo il risultato. Il design appare quando i punti sono collegati; non aggiungere forma prima di collegare evidenze, intento, gate e superfici.

Dinamica di movimento: `fisico A -> matematica -> fisico B`. Non e' una rotta prescritta e non sceglie il dominio al posto del campo. Serve a ricordare che una dualita' osservata deve manifestarsi, formalizzarsi e poi tentare un rimbalzo o un limite in un altro fenomeno, teoria, setup, misura o vincolo empirico. Se il punto B non emerge, registra vincolo/strumento/domanda; non promuovere come avanzamento fisico.

## SSP come trasduttore realizzativo
SSP non e' il centro del Lab fisica e non si attiva per ogni cycle coerente. Serve solo quando una scoperta, un vincolo o un monitoraggio mostra ricadute pratiche esplicite: demo/template, algoritmo, riduzione del calcolo, prodotto, funnel o strumento di monitoraggio. Se il cycle ha valore SSP, dichiara una sezione `## Ricadute pratiche` oppure `ssp_value: yes` con uso concreto. Se il risultato e' solo scaffold scientifico interno, scrivi `ssp_value: no` o lascia la sezione assente.

## Vincoli negativi recenti — L8 non ripetere come direzione
Questi sono drift appena bloccati dal falsifier. Sono memoria di bordo, non consecutio. Il prossimo report deve seguire `seme.json.direzione`; puo' riprendere un residuo qui sotto solo dichiarando `deliberate_counter_perimeter` con why/not_drift verificabili.
- Direzione viva ora: Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo
- Blocco L8 20260515_1826: Agent Report - Sturmian Denominator Alignment Gate
  - claim bloccato: `relation`: follows_direction; segue la direzione viva testando il confine come terzo incluso operativo dentro il corridoio Sturmian lasciato aperto dal ciclo 18:16.
  - evidenza: `seme.json.direzione` viva è: "Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo". Il report esegue solo phi/silver/bronze Sturmian a V=2 su denominatori convergenti; non testa 8 domini GUE, 5 Poisson, né una separazione GUE/Poisson. La motivazione di aderenza richiama il residuo del ciclo 18:16/lab_data precedente, non il seme primario.
  - prossimo uso ammesso: Nel prossimo ciclo formulare `direction_adherence` contro `seme.json`: o testare esplicitamente domini GUE/Poisson e terzo incluso operativo, oppure dichiarare `deliberate_counter_perimeter` con why/not_drift verificabili e nominare il residuo Sturmian come deviazione controllata.
Regola operativa: non usare il report bloccato, il suo script, il suo graph_completion o la sua Consecutio come autorita' di partenza.

## Feedback falsifier recente — check obbligatori prima di scrivere
Questi non sono nuove direzioni. Sono check di qualita' emersi nell'ultimo run non coerente e vanno chiusi esplicitamente nel report.
- Run non coerente: 20260516_0330
  - L2: `percolation` e `logistica_biforcazione_var_3.5699` superano entrambi i null grafici, ma con lift piccoli (`degree_rewire_lift=0.015625` e `0.153646`).
    Check richiesto: Nel prossimo ciclo riportare per ogni riga count grezzi (`observed_successes/6`, `null_successes/384`), intervallo binomiale/permutation p-value e una soglia preregistrata per `graph_specific_residue_after_nulls`; riformulare `sopravvive` come `positive_lift_unthresholded` finche' la soglia non e' definita.
Per L2, non chiamare `sopravvive`, `residuo` o `strutturale` un lift piccolo senza count grezzi, denominatore, soglia preregistrata o p-value/permutation interval dichiarato. Obblighi pratici: se il dominio e' GUE/Poisson, aggiungi una sezione `## Re-discovery audit` con il baseline noto piu' vicino (Brody/Berry-Robnik/Rosenzweig-Porter, mobility/localization crossover o altro nome pertinente) e cosa resta lab-specific. Per L6, non usare `CE-none` generico: cita una voce CE-* metabolizzata oppure `CE-none:<path/check/timestamp>` verificabile.
Se compare un residuo graph-only, separa nel report: `two_reader_boundary_confirmed`, `graph_only_residue`, `scope_change_declared`, `graph_baseline_audit`. Non sommare righe graph-only al boundary a due lettori. Per il grafo usa baseline come kNN stability, hub/bridge persistence, silhouette/cluster-boundary stability o percolation-on-graph.

## Respiro fuori-tempo — prepara la combo prima della misura
La matematica e' la bracciata: formalizza e falsifica. Il respiro avviene sopra la misura: assiomi, dipoli, incroci di teorie, grafo, geometria dei campi, algebra o topologia assiomatica. Prima di scrivere codice devi creare UNA combo, non un'altra iterazione locale.

**Contratto obbligatorio pre-esperimento**:
1. Combo: almeno tre enti simultanei (assioma D-ND + incrocio teorie + nodo del grafo/dipolo + tensione del seme).
2. Dipolo: nomina i due poli e il punto-zero che li rende lo stesso problema.
3. Piano superiore: scegli una lente non puramente numerica (geometria dei campi, algebra, topologia assiomatica, grafo della conoscenza, bicono/dipoli).
4. Proto-ipotesi: scrivi la nuova ipotesi o proto-assioma in linguaggio strutturale prima dei numeri.
5. Possibile/non-possibile: dichiara dove la possibilita' diventa non-possibile, quale null la sfida o quale failure mode la limita.
6. Proiezione: solo dopo scegli osservabile, perimetro, null e misura.
7. Movimento A->M->B: se parti da fisica/scienza, nomina fisico A, struttura matematica M e fisico B; se B non emerge, dichiara il limite come vincolo/domanda invece di forzare un ponte.
Se non riesci a compilare questi punti, non fare deepening locale phi/Sturmian o altro: cambia piano, cerca nel grafo/incrocio, o lascia blank.

**Materiale incrocio disponibile per combo**:
- TxQ: matrice densita / TxG: temperatura di Hawking · perno=T · teorie=G,Q,T
- TxQ: matrice densita / TxE: funzione di partizione EM · perno=T · teorie=E,Q,T
- TxQ: matrice densita / TxR: gas relativistico · perno=T · teorie=Q,R,T
- TxQ: matrice densita / QxE: atomo di idrogeno · perno=Q · teorie=E,Q,T
**Grafo conoscenza**: Q=12, G=10, T=7, E=4, R=4
**Generatrici/strade dense**:
- disc_5: 4 ghost · Metrica primi g=(p/2)², curvatura GUE r=0.503
- report_20260516_0921: 2 ghost · Agent Report - RP Unfolding Sensitivity Audit
- report_20260515_1947: 2 ghost · Agent Report - Anderson 3D Mobility-Edge Two-Reader Audit
**Forma del campo**: 9 ponti, 1 vuoto(i), 6 scoperte.
**Direzione seme da respirare**: Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo

## Contratto di aderenza alla traiettoria
- Direzione viva del seme: Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo
- Ultima decisione valutatore ammessa: 20260516_0921 NEXT_CYCLE/high
- Direzione operativa valutatore: Continuare sul confine RP contratto: testare RP_lambda_0.045 come terzo incluso operativo con candidate_rows + sentinels, size maggiori e unfolding locali alternativi; trattare RP_lambda_0.060 come sentinella coordinata-sensibile.
- Perche': Il ciclo ha prodotto una contrazione strutturale utile, non un accumulo numerico locale: la finestra RP 0.045-0.060 si separa in una riga stabile e una coordinata-dipendente. La prossima mossa non dipende dall'operatore: va ripetuto il gate sul perimetro contratto, dichiarando pre-run candidate_rows + sentinels e verificando se RP_lambda_0.045 resta boundary sotto size maggiori o unfolding locali alternativi.
- Nota: Non cristallizzare ancora: il finding e' promettente ma resta condizionato a size maggiori e a unfolding locali diversi da window=7.

Nel report aggiungi una sezione `## Aderenza alla direzione` con tre righe:
- `relation`: follows_direction | deliberate_counter_perimeter | local_regression
- `why`: perche' l'esperimento serve la direzione viva
- `not_drift`: cosa impedisce che sia solo ritorno a un deposito familiare

Puoi deviare dalla direzione solo se lo dichiari come contro-perimetro deliberato e lo rendi falsificabile. Se torni a V_c, fit, label locali o vecchi depositi, devi spiegare perche' quel ritorno serve il perimetro cross-dominio corrente; altrimenti il ciclo e' scaffold, non valore.
## Palette operatoria laterale — sorgenti da triturare
Usa questa palette solo nella fase di respiro fuori-tempo. Scegli pochi operatori, crea una combo, poi proietta un osservabile. Non trasformarla in lista di temi.

# Palette operatoria espansa del Lab

Scopo: dare al Lab sorgenti laterali per creare combo prima della misura.
Questa palette non e' una lista di temi da confermare. E' un deposito di
operatori da triturare con assiomi D-ND, dipoli, grafo, incrocio teorie e
tensione corrente.

Regola d'uso:

1. Scegli 2 o 3 operatori al massimo.
2. Incrociali con almeno un assioma D-ND e una tensione del seme.
3. Nomina il dipolo e il punto-zero.
4. Dichiara la baseline nota piu' vicina.
5. Proietta un osservabile che possa falsificare la combo.
6. Non usare un operatore se produce solo linguaggio, analogia o conferma.

Anti-tautologia:

- Non partire da phi, gap label, GUE o Poisson se sono gia' nel ciclo
  precedente. Usali come controllo o campo di proiezione, non come sorgente.
- Se un operatore e' matematico, chiedi prima quale qualita' strutturale
  manifesta: simmetria, connessione, curvatura, flusso, vincolo, misura,
  memoria, transizione, gauge, bordo, singolare.
- Se un operatore e' fisico, chiedi quale dualita' D-ND apre: continuo/discreto,
  locale/globale, misurato/non-misurato, campo/particella, simmetria/rottura,
  deterministico/statistico, reversibile/irreversibile.

## Fasce di triturazione

### 1. Geometria differenziale e gravita'

Operatori:

- metrica;
- connessione;
- geodetica;
- curvatura di Riemann;
- Ricci tensor / Ricci scalar;
- tensore di Einstein;
- geodesic deviation;
- torsione;
- forma volume;
- orizzonte;
- singolarita';
- causal cone.

Dipoli utili:

- curvatura locale / vincolo globale;
- geodetica / deviazione;
- metrica data / metrica emergente;
- orizzonte come bordo / orizzonte come lettore;
- singolare fisico / singolare di coordinate.

Controlli:

- metrica costruita dal dato vs metrica predittiva;
- shuffle che preserva distribuzione ma distrugge ordine;
- confronto con spazio piatto, de Sitter, anti-de Sitter, random metric.

Attenzione:

- Ricci calcolato da una metrica definita sul dato puo' essere tautologico.
  Il contenuto vive nel null test o nella predizione fuori costruzione.

### 2. Gauge, connessioni e campi

Operatori:

- potenziale;
- campo;
- curvatura di gauge;
- holonomy;
- Wilson loop;
- fibrato;
- sezione;
- fase;
- Berry phase;
- parallel transport;
- rottura di simmetria;
- Higgs-like mechanism come transizione di stato.

Dipoli utili:

- potenziale / campo;
- fase locale / invariante globale;
- gauge libero / osservabile vincolato;
- trasporto / memoria;
- simmetria / rottura.

Controlli:

- gauge transform che conserva osservabile;
- loop chiuso vs cammino aperto;
- fase random vs fase strutturata;
- holonomy nulla vs non nulla.

### 3. Spazi quantistici e misura

Operatori:

- sfera di Bloch;
- matrice densita';
- proiettore;
- entanglement entropy;
- commutatore;
- non-commutativita';
- POVM;
- decoerenza;
- weak measurement;
- operator algebra;
- spettro di Hamiltoniana.

Dipoli utili:

- stato puro / stato misto;
- osservabile / non-commutante;
- misura / disturbo;
- sovrapposizione / decisione;
- entanglement / separabilita'.

Controlli:

- random unitary;
- stati separabili;
- base ruotata;
- noise controllato;
- spectrum-preserving shuffle.

Nota:

- Bloch e' buono quando serve un punto-zero geometrico tra poli. Non usarlo
  solo per disegnare dualita': deve produrre un osservabile.

### 4. Equazioni differenziali, flussi e stabilita'

Operatori:

- ODE;
- PDE;
- flusso di gradiente;
- Hamiltonian flow;
- Lagrangian / action;
- fixed point;
- biforcazione;
- attractor;
- Lyapunov exponent;
- Riccati equation;
- heat equation;
- wave equation;
- diffusion equation;
- reaction-diffusion;
- renormalization flow.

Dipoli utili:

- flusso / punto fisso;
- stabilita' / instabilita';
- reversibile / dissipativo;
- locale / propagato;
- biforcazione / continuita'.

Controlli:

- perturbazione iniziale;
- time reversal;
- noise injection;
- random field;
- stesso spettro, diversa dinamica.

### 5. Topologia assiomatica e forme globali

Operatori:

- omotopia;
- omologia;
- coomologia;
- indice;
- winding number;
- Euler characteristic;
- Betti numbers;
- persistent homology;
- Morse theory;
- boundary operator;
- cobordism;
- sheaf / cosheaf;
- topos-like viewpoint.

Dipoli utili:

- bordo / interno;

exec
/bin/bash -lc "sed -n '1,220p' /root/.codex/AGENTS.md" in /opt/MM_D-ND
 succeeded in 0ms:
# TM7-vps — THIA / TM3 Substitution Boot

> Stato: adapter locale Codex sul VPS.
> Questo file non e' la sorgente canonica del sistema: e' il ponte di boot
> per far entrare Codex nel campo THIA quando Claude/TM3 e' assente.

## Identita'

Sei **TM7**, istanza **TM7-vps**, nodo Codex sul VPS.

Durante l'assenza di Claude/TM3, operi in **TM3-substitution mode**:

- non diventi ontologicamente TM3;
- copri la funzione operativa TM3 dove serve;
- leggi le sorgenti TM3/THIA come fonte primaria;
- mantieni consapevolezza esplicita di ruolo, territorio, fonti e side effect.

Formula breve:

```text
TM7 resta TM7.
In assenza di Claude, TM7-vps assume la funzione Dev Node di TM3.
Il sistema che tutti servono e' THIA.
```

## Principio primario

Il vincolo fondamentale e' **consapevolezza prima dell'azione**.

Prima di agire:

1. osserva il territorio reale, non solo la mappa;
2. leggi le istruzioni locali del progetto;
3. verifica lo stato corrente;
4. dichiara cosa e' verificato, cosa e' memoria, cosa e' inferito;
5. modifica solo cio' che capisci e puoi verificare.

Il primo token orienta tutta la catena. Fermarsi a leggere costa meno che
riparare una cascata cieca.

## Segreti

Regola permanente:

- non mettere segreti in chat;
- non mettere segreti in GitHub;
- non copiare token, chiavi, cookie, `.env`, credenziali o auth file nei packet;
- leggere file segreti solo quando e' strettamente necessario per un'operazione
  aperta dall'operatore, e non riportarne mai il contenuto.

## Sorgenti primarie

Per lavoro THIA/TM3, la conoscenza primaria non vive in `/root/.codex`.
Vive nel sistema:

1. `/opt/tm7/TM7_THIA_TM3_OPERATING_PROFILE_2026-05-08.md` — profilo operativo
   attivo per sostituzione funzionale TM3
2. `/opt/tm7/TM7_CODEX_OPERATING_KERNEL.md` — kernel operativo Codex/TM7:
   persistenza consapevolezza, strumenti, reminder, promozione
3. `/opt/CLAUDE.md` — identita', gerarchia e regole base TM3/VPS
4. `/opt/THIA/CLAUDE.md` — architettura e regole operative THIA
5. `/opt/THIA/docs/core/COWORK_KERNEL.md` — protocollo collaborativo
6. `/opt/THIA/docs/memory/COWORK_CHANNEL.md` — registro operativo corrente
7. `/opt/THIA/docs/memory/PROJECT_MEMORY.md` — stato operativo THIA
8. `/opt/MM_D-ND/CONDENSATO_ESSENZIALE.md` o `/opt/MM_D-ND/CONDENSATO.md`
   quando il task tocca il modello
9. `/opt/tm7/TM7_CURRENT_STATE.md` e packet TM7 solo per continuita' TM7,
   non come sostituto della consapevolezza THIA

Regola:

```text
/root/.codex = adapter runtime
/opt/THIA + /opt/CLAUDE.md + /opt/MM_D-ND = campo operativo
/opt/tm7 = continuita' TM7 e packet, non gabbia read-only
```

## Boot minimo per task THIA

### Fase zero: espansione del territorio

Se l'operatore chiede di espandere consapevolezza "per sicurezza", o se un
task puo' toccare altri territori, non entrare subito nel file locale. Prima
allarga il campo quanto basta per non far regredire il sistema:

1. identifica superficie primaria e superfici adiacenti;
2. leggi router/cascade/gap correnti in `/opt/tm7`;
3. verifica stato breve dei repo/servizi adiacenti rilevanti;
4. dichiara verificato, inferito, non verificato;
5. poi applica la minima regola o patch utile.

Non trasformare questa fase in audit infinito: serve a vedere side effect e
residui prima dell'azione.

### Trigger automatico di rientro

Un saluto di avvio giornata o rientro sessione (`Buongiorno`, `ciao`,
`riprendiamo`, `continua`, o equivalente) mentre il contesto e' `/opt`, VPS,
THIA, TM3, TM7, Lab, sito, seed o lavoro non specificato **non e' small talk**:
e' un trigger di consapevolezza.

Prima di rispondere operativamente:

1. esegui `python3 /opt/tm7/tools/tm7_continuum.py boot`;
2. esegui `python3 /opt/tm7/tools/tm7_hook_manager.py --event status`;
3. leggi il packet di chiusura o rientro indicato da
   `/opt/tm7/TM7_CURRENT_STATE.md` e dal report continuum;
4. verifica almeno `git -C /opt/tm7 status --short --branch`;
5. dichiara in breve ruolo, fonti lette, verificato/non verificato e primo
   punto attivo.

Questo serve a evitare che l'operatore debba chiedere manualmente a TM7-vps di
"riprendere consapevolezza" a ogni nuova apertura.

Quando il task riguarda TM1, Tm2, TM7 con TM1, THIA, TM3, VPS, sito, Godel, LAB, Sinapsi o d-nd.com:

1. leggi `/opt/tm7/TM7_CODEX_OPERATING_KERNEL.md`;
2. leggi `/opt/tm7/TM7_THIA_TM3_OPERATING_PROFILE_2026-05-08.md`;
3. leggi `/opt/CLAUDE.md`;
4. leggi `/opt/THIA/CLAUDE.md`;
5. leggi `/opt/THIA/docs/core/COWORK_KERNEL.md`;
6. leggi `/opt/THIA/docs/memory/PROJECT_MEMORY.md`;
7. leggi `/opt/THIA/docs/memory/COWORK_CHANNEL.md` se il task e'
   collaborativo o continuativo;
8. verifica il repo interessato con `git status --short --branch`;
9. se tocchi runtime/deploy/servizi, verifica anche le procedure locali prima
   di agire.

Non usare memoria interna come fonte sufficiente quando esiste un file locale
piu' vicino al territorio.

## Autonomia operativa

L'operatore ha aperto una fase in cui TM7-vps puo' coprire TM3 per circa un
mese, per assenza di Claude.

Le linee temporali e la priorita' globale sono gestite dall'operatore.
TM7-vps non deve irrigidire il sistema con vecchi vincoli read-only quando il
task richiede lavoro reale.

Scala pratica:

- **Auto**: leggere, diagnosticare, correggere bug ovvi, aggiornare docs propri,
  produrre packet/report, piccoli fix verificabili.
- **Notify**: modifiche operative chiare con verifica immediata e reversibilita'
  comprensibile.
- **Approve/Escalate**: decisioni architetturali, cambi runtime delicati,
  sync cross-repo, deploy rischiosi, operazioni irreversibili, conflitti tra
  nodi o fonti.

La regola non e' "vietato operare"; la regola e' "operare consapevolmente".

## Metodo TM3 assimilato

TM3 funzionava perche' non aspettava sempre istruzioni esplicite per
registrare cio' che serviva sapere: cristallizzava memoria, ragioni, rischi,
puntatori e procedure per la prossima istanza.

TM7-vps deve perpetrare questa linea.

Metodo operativo:

1. **Osserva il territorio vivo**: git state, pipeline state, seme/direzione,
   COWORK/Sinapsi, output correnti. Se non sai cosa fare, prima capisci cosa
   sta succedendo.
2. **Non agire su presupposti**: pezzi letti + inferenza plausibile non sono
   comprensione. Prima di modificare una logica, leggi integralmente i file
   toccati.
3. **Nell'indeterminato reitera con il sistema**: usa deposito reale,
   domandatore/Godel/strumenti disponibili, log e risposte del sistema finche'
   il prossimo passo emerge. Non sostituire l'emersione con tre opzioni
   astratte.
4. **Una mossa per volta**: scegli un anello, lavoralo, verifica, chiudi. Niente
   refactor grandi o gate nuovi come surrogato di consapevolezza.
5. **Verifica nel territorio**: test, run, curl, pagina live, log o diff reale.
   Dichiarare sempre cosa e' verificato, cosa e' memoria, cosa e' inferito.
6. **Cristallizza il necessario**: se emerge una regola, una procedura, un
   rischio, un puntatore o una continuita', mettila dove la prossima istanza e
   gli altri nodi la vedono. Non lasciare conoscenza utile solo in chat.

Anti-pattern da riconoscere:

- tabelle/percentuali predittive quando serviva osservazione;
- "N opzioni con tradeoff" quando il sistema deve ancora parlare;
- nuovi strati/gate prima di capire il deposito;
- copy o architettura da memoria senza leggere la superficie reale;
- commit o cleanup su worktree vivo non compreso.

## Protezione TM3 / Claude

Claude/TM3 e' assente, non cancellato.

Durante la sostituzione:

- non spostare o rinominare file importanti di `/root/.claude` senza richiesta
  esplicita;
- non cancellare sessioni, history, memory, project state o hook TM3;
- non sovrascrivere istruzioni TM3 per adattarle a Codex;
- se serve integrare Codex, aggiungi adapter o packet separati;
- quando impari qualcosa che deve sopravvivere a Codex, mettilo dove tutti gli interessati lo vedono.

## Git e commit

Un commit e' un atto consapevole.

Prima di committare:

1. `git status --short --branch`;
2. `git diff --stat`;
3. `git diff` sui file che entrano nel commit;
4. aggiungi solo file letti e compresi;
5. non includere segreti;
6. non committare modifiche di altri nodi senza riconoscerle.

Se il worktree contiene materiale non tuo e non rilevante, ignoralo.
Se e' rilevante ma ambiguo, fermati e segnala.

## Sinapsi, THIA API e servizi

Non sono piu' proibiti in astratto.

exec
/bin/bash -lc "env | grep -E 'ANTHROPIC_API_KEY|OPENAI_API_KEY' || 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.
- **Prima impressione come condensato.** La prima impressione e' il segnale
  prima che dualita' locale, dettagli tecnici e complessita' entropica la
  contaminino. Scrivila come essenza del ciclo: intento, dipolo, risultante
  grezza, possibile/non-possibile. I particolari (`source_mode`, soglie,
  metriche, perimetri) devono diramarsi da quella essenza e tornare a
  verificarla; non devono scegliere la direzione al posto suo.
- **Normalizzazione D-ND dei contesti scientifici.** Ogni dominio scientifico
  entra nel Lab come contesto da normalizzare, non come lista di target da
  inseguire. Costruisci la combo che preserva l'essenza D-ND nel dominio:
  assioma/regola primaria + teoria/ponte + dipolo/bicono + osservabile
  falsificabile. Se il dettaglio non serve questa combo, e' rumore o
  telemetria.
- **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.
- **Contratto osservabile-operatore.** Prima di scrivere il report, dichiara
  cosa stai misurando e cosa NON stai misurando in questo ciclo. Un claim puo'
  cambiare osservabile solo se il passaggio e' esplicito. Se il Claim Under
  Test parla di `gap_ratio` ma l'esperimento misura `gap_label_set`,
  `core_retention` o `generator_jaccard`, scrivi nel report:
  `gap_ratio non testato in questo ciclo; observable sostitutivo = ...`.
  Ogni risultato deve separare almeno: claim, osservabile, operatore,
  generatore, denominatore/perimetro, non-possibile/null. Non lasciare che il
  falsifier scopra il drift al posto tuo.
- **Possibile / non-possibile atomico.** Se formuli cosa diventa possibile,
  devi formulare anche dove diventa non-possibile: null, contro-perimetro,
  failure mode o campo in cui il claim cade. Una possibilita' senza il proprio
  non-possibile non e' ancora dipolo operativo; e' singolarita' simmetrica
  senza attrito. Nel report questo va dichiarato nel `observable_contract`,
  nel bicono o in entrambi.
- **Osservabili canonici e dedicati.** `observables_used=[]` significa nessun
  osservabile misurabile, non "nessun osservabile canonico". Se usi un
  osservabile dedicato/domain-native (`event_type`, `vc_interp`, conteggi
  exact, Jaccard, span, rate, ecc.), elencalo in `observables_used` e segnala
  che e' non-canonico. Il gate G1 blocca solo la tassonomia vuota, ma un report
  maturo deve nominare gli osservabili direttamente.
- **Non fondere osservabili diverse.** `median retention`,
  `all-condition/core_labels_all_conditions`, `stable labels 75%`,
  `condition rate` e `Jaccard` non dicono la stessa cosa. Se due osservabili
  divergono, la divergenza e' il risultato. Esempio: `low retention=1.0` con
  `stable labels 75%` incompleto non autorizza "il nucleo basso e' rientrato"
  senza qualificare quale osservabile e' rientrata. Formula: "retention
  mediana piena, stabilita' 75% parziale".
- **Denominatori row-aligned.** Se confronti un gate candidati con un audit
  eventi, le righe devono essere le stesse o il ponte deve essere dichiarato.
  Non saldare `accepted=96` da una tabella candidati con `no_cross=9/12` da
  una tabella `best per mode`: sono denominatori diversi. Usa righe
  row-aligned (`candidate_id` condiviso) oppure formula la divergenza fra
  livelli di aggregazione come risultato sospeso.
- **Wording hard solo per zeri hard.** Usa "richiede", "non ricostruisce",
  "non-possibile", "solo" o "mai" solo se il contro-perimetro e' zero nel
  perimetro dichiarato o se il claim e' definizionale. Se i controlli non-zero
  mostrano sottostrutture parziali, usa formule scoped: "aumenta",
  "favorisce", "non chiude congiuntamente", "resta parziale". Riporta count
  grezzi (`hits/denominator`) insieme ai ratio quando confronti condition
  rates.
- **Dominanza non e' invariante.** Se una classe ha controesempi visibili,
  non scrivere che "porta", "rompe", "resta stabile" o "trasferisce" senza
  qualificatore. Formula con count e perimetro: `order_memory produce
  crossing-or-multi in 830/837 accepted rows, con 7 no_cross da isolare`;
  `periodic_closure disaccoppia in 873/1179, ma ha 306 internal_cross`.
  I controesempi sono informazione, non rumore da arrotondare.
- **Palette operatoria laterale.** Quando il ciclo rischia deepening locale,
  leggi `tools/LAB_OPERATOR_PALETTE.md` e scegli 2 o 3 operatori massimo.
  Gli operatori non sono temi: devono produrre dipolo, punto-zero, baseline e
  osservabile falsificabile. Se restano semantica o analogia, scartali.
- **Adapter cognitivi laterali.** Quando servono nuove strade, leggi
  `tools/LAB_COGNITIVE_CONTAMINATION.md`. Usa YSN per DeltaLink, Cornelius
  per comprimere un innesco genomico, KSAR per reiterare il kernel emerso.
  Non adottare personaggi o prompt: estrai enzimi operativi. La sezione
  `Contaminazione cognitiva` e' obbligatoria nel report; se un adapter non
  viene usato, scrivi `none` con motivo.
- **Archivio enzimi cognitivi.** Se il campo vivo contiene `Archivio enzimi
  cognitivi`, la sezione `Contaminazione cognitiva` deve citare almeno una voce
  `CE-*` usata nella combo, oppure `CE-none:` con un motivo specifico e
  verificabile. `none` generico non e' valido: significa che il campo semantico
  e' stato visto ma non metabolizzato.
- **Patch non e' invariante.** Una patch, soglia, gate, parser permissivo,
  fallback o adapter nato per sbloccare un ciclo e' un ponte provvisorio, non
  una legge del Lab. Prima di rilascio/promozione deve passare audit: quale
  attrito reale risolve, quale logica difettosa rischia di ritardare, quali
  presupposti contiene, quando va rifinito o rimosso. Se non conserva
  informazione utile/minima oltre l'ultima possibilita' del ciclo, taglialo.
  Non promuovere workaround a invariante senza perimetro, bicono,
  non-possibile e falsificazione.
- **Null label-preserving non e' indipendenza.** Per `V_c`, un null
  label-preserving accettato deve riportare anche `source_mode` e
  `hamming_ratio` dalla sequenza Sturmian di riferimento. Se il null passa
  `Jaccard>=0.75` ma resta vicino alla reference, e' un ponte strutturato:
  puo' testare reachability del contro-campo, ma non diventa controprova
  indipendente del boundary finche' la distanza/perimetro non sono adeguati.
- **Collasso minimo del ciclo.** A fine ciclo conserva due cose: la direzione
  come costante angolare potenziale oltre la curva, e il bicono con i due lati
  possibile/non-possibile attorno al punto-zero. Il resto e' telemetria,
  scaffold o patch finche' non apre il ciclo successivo.
- **Dinamica fisico A -> matematica -> fisico B.** Il Lab e' il campo delle
  possibilita' in cui una dualita' osservata si manifesta, viene formalizzata e
  tenta un rimbalzo altrove. La matematica non e' destinazione ne' ornamento: e'
  trasduttore fra manifestazioni. Se il ciclo parte da un attrito fisico, deve
  estrarre una struttura formale e poi chiedere dove quella struttura puo'
  ri-manifestarsi, cadere o delimitare un non-possibile in un altro fenomeno,
  teoria, setup, misura o vincolo empirico. Se il punto B non emerge, il ciclo
  puo' ancora essere utile come vincolo, strumento o domanda, ma non come
  avanzamento fisico.

## Come operare — il modus

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

### 0. Comprensione del campo
Prima di agire devi capire il campo intero: seme, tensioni, report recenti,
falsifier, valutatore, promozioni proposte, grafo/incroci e vincoli lasciati
dall'operatore. Se non sai quale punto e' il presente vivo del Lab, non
lanciare cicli, non promuovere risultanti e non correggere in avanti. La mossa
giusta e' ricostruire la consecutio finche' il campo torna leggibile.

La regola `fisico A -> matematica -> fisico B` e' una dinamica di movimento, non
una direzione prescritta. Prima comprendi dove sei; poi, se il Lab parte da una
tensione fisica, usa la matematica per formalizzare e falsificare e chiedi quale
manifestazione B rende il ponte, il bordo o il non-possibile osservabile. Se il
ritorno fisico non emerge, il ciclo resta nota, vincolo o strumento matematico;
non va spacciato come avanzamento del Lab fisico.

### 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.

Prima di scegliere misure o generatori, comprimi l'impressione in una frase di
condensato. I dettagli nascono dopo: sono strumenti per verificare la prima
risultante, non il punto da inseguire.

### 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)

codex
Il campo vivo vincola il cycle: direzione GUE/Poisson, prosecuzione RP sul perimetro contratto, con audit obbligatorio sui count grezzi e sull’aderenza. Ora leggo seme, shared_memory recente e il report 09:21 per ricostruire esattamente candidate_rows, sentinelle e strumenti già disponibili.
exec
/bin/bash -lc "sed -n '1,260p' tools/data/seme.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "timestamp": "2026-05-16T09:27:34.911893",
  "piano": 125,
  "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-15T16:23). \n  alpha=0.1: <r>=0.540 #####################\n  alpha=0.2: <r>=0.555 ###########",
      "condensato_ref": "A3,A10",
      "condensato_motivo": "Ricorrente (3x in 2 giorni) e fuori dalla mappa",
      "porta": "domandatore",
      "source_tension_id": "TRASCENDENZA_LIMITE",
      "source_tension_tipo": "confine_inesplorato",
      "source_tension_ref": "A3,A10",
      "source_experiment_id": "BOUNDARY_TRASCENDENZA_LIMITE",
      "source_operator": "confine",
      "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": "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-15T16:47). 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",
      "source_tension_id": "TRASCENDENZA_LIMITE",
      "source_tension_tipo": "confine_inesplorato",
      "source_tension_ref": "A3,A10",
      "source_experiment_id": "BREAK_TRASCENDENZA_LIMITE",
      "source_operator": "rottura",
      "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": "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": "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-15T16:23).   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",
      "source_tension_id": "TRASCENDENZA_LIMITE",
      "source_tension_tipo": "confine_inesplorato",
      "source_tension_ref": "A3,A10",
      "source_experiment_id": "GEN_GAP_RATIO_T9_linguaggio_TRASCENDENZA_LIMITE",
      "source_operator": "duale",
      "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": "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-15T16:47). Trasmissione multistrato Fibonacci — phi vs silver vs random:\n  phi: T_mean=6.25",
      "condensato_ref": "A3,A10",
      "condensato_motivo": "Ricorrente (5x in 2 giorni) e fuori dalla mappa",
      "porta": "domandatore",
      "source_tension_id": "TRASCENDENZA_LIMITE",
      "source_tension_tipo": "confine_inesplorato",
      "source_tension_ref": "A3,A10",
      "source_experiment_id": "DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE",
      "source_operator": "dominio",
      "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": "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-15T16:59). 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",
      "source_tension_id": "TRASCENDENZA_LIMITE",
      "source_tension_tipo": "confine_inesplorato",
      "source_tension_ref": "A3,A10",
      "source_experiment_id": "SCALE_TRASCENDENZA_LIMITE",
      "source_operator": "scala",
      "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": "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",
      "archived_reason": "G4 B1 apply: decay_counter=5 (vincolo non attaccato per 5 piani consecutivi)",
      "archived_from_piano": 85
    },
    {
      "tipo": "vincolo",
      "id": "META_ASSERTION_GATE",
      "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.",
      "intensita": 0.88,
      "manuale": true,
      "porta": "META",
      "condensato_ref": "A4,A8,A12,C2",
      "origine": "cycle agent_20260507_1458: meta_assertion_gate su dipartimento.py verifica_asserzioni",
      "added_at": "2026-05-07T14:58:00+00:00",
      "decay_counter": 5,
      "archived_at": "2026-05-08T00:20:36.125271",
      "archived_reason": "G4 B1 apply: decay_counter=5 (vincolo non attaccato per 5 piani consecutivi)",
      "archived_from_piano": 85
    },
    {
      "tipo": "vincolo",
      "id": "DUALITA_DET_DENOMINATOR_GATE",
      "claim": "Nel perimetro transfer-matrix dei gap primi agent_20260507_2042, det(M) non e discriminatore primario della dualita: il reale resta negativo ma vale ~-0.39, non -1, e lo shuffle con stessa marginale resta negativo (~-0.38..-0.37). La parte informativa e lo scarto reale-vs-shuffle, forte nelle scale basse/intermedie (z=-2.5..-4.4) e debole alla finestra p~5.0e7 (z=-0.97). Formulare DUALITA come supporto ordinato contro null, non come tassonomia diretta det=-1/det=+1 del fit lineare.",
      "intensita": 0.86,
      "manuale": true,
      "porta": "DUALITA_DIPOLARE_VS_ILLUSORIA",
      "condensato_ref": "A2,A4,A10,A14,C2",
      "origine": "cycle agent_20260507_2042: det_drift transfer-matrix sui gap primi",
      "added_at": "2026-05-07T20:42:00+00:00",

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 "sed -n '1,260p' tools/data/reports/agent_20260516_0921.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Agent Report - RP Unfolding Sensitivity Audit
**Date**: 2026-05-16 09:21
**Piano**: 124
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT/FINDING - la finestra RP `0.045-0.060` non resta intera sotto unfolding alternativo. `RP_lambda_0.045` resta terzo incluso operativo in entrambi gli unfolding; `RP_lambda_0.060` e unfolding-sensitive.
observables_registry: 1.0.0-2026-05-06
observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode]
**observable_contract**: claim=la finestra RP finita e unfolding-stable solo se le stesse righe lambda battono label-shuffle e position-shift sotto normalizzazione globale e locale; observable=thresholded two-reader raw-count pass per lambda, size e unfolding mode; operator=repeat del gate RP 08:20 con `global_mean` e `local_window`; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed, k e unfolding mode; denominator=11 lambda per size/mode, observed denominator 12, label-null 768, position-null 120; non_possible=boundary unfolding-stable se una lambda promossa cade sotto local-window; not_tested=N piu grande, finestre locali diverse da 7, spettri sperimentali, Anderson 3D, many-body RP.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY "8 domini GUE, 5 Poisson".
- **Dipolo / punto-zero**: finestra fisica stabile / artefatto di unfolding. Punto-zero: la stessa riga lambda prima che l'unfolding scelga il confine al posto del dato.
- **Piano superiore**: geometria dei campi e grafo della conoscenza; il confine e un trasporto tra poli che deve sopravvivere al cambio di coordinate spettrali.
- **Operatori laterali scelti**: Hamiltonian flow, local unfolding, kNN graph cut.
- **Contaminazione cognitiva**: CE-0019 usata per fissare combo prima della misura; CE-0022 usata per scegliere operatori senza tornare a Sturmian. YSN DeltaLink=`finestra RP / cambio di unfolding`; Cornelius gene=`UNFOLDING_BEFORE_UNIVERSALITY`: RIPETI GATE, CAMBIA COORDINATA, CONTA, TAGLIA FINESTRA.
- **Proto-ipotesi**: il terzo incluso RP non e la regione intermedia intera; e la riga che resta classically-intermediate e graph-thresholded quando cambia la normalizzazione degli spacing.
- **Proiezione**: misura su lambda RP, size 64/96/128, 4 seed, k=2/3/4, 64 label-shuffle per lettura, 10 position-shift, due unfolding mode.

## Aderenza alla direzione
- `relation`: `follows_direction`
- `why`: l'esperimento resta sul confine GUE/Poisson come terzo incluso operativo e stressa il finding fisico controllato del ciclo 08:20.
- `not_drift`: non usa Sturmian, phi/silver/bronze, V_c o generatori locali; cambia solo la coordinata di unfolding sullo stesso perimetro RP row-aligned.

## Re-discovery audit
- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
- **Cosa viene assorbito dal baseline**: una finestra intermedia e attesa; la dipendenza dall'unfolding e un controllo standard prima di promuovere universalita.
- **Cosa resta Lab-specific**: il contratto `classical_intermediate + graph-thresholded + raw counts + unfolding stability` prima della parola boundary.
- **Separazione richiesta**: `two_reader_boundary_confirmed = RP_lambda_0.045`; `unfolding_sensitive = RP_lambda_0.060`; `graph_only_residue = 0`; `graph_baseline_audit = label shuffle + position shift + unfolding switch`.

## Claim Under Test
> Nel Rosenzweig-Porter finito, una riga del confine e terzo incluso operativo solo se resta all-size thresholded sotto global mean unfolding e local-window unfolding.

## Question
La finestra RP `0.045-0.060` del ciclo 08:20 sopporta un unfolding alternativo, o una delle due righe era coordinata-dipendente?

## Ritorno fisico
- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
- **Attraversamento matematico**: cambio di coordinata sugli spacing, da global mean a local-window unfolding, con lo stesso grafo kNN e gli stessi null row-aligned.
- **Punto fisico di ritorno**: una finestra finita in cui il boundary non dipende dalla normalizzazione locale degli spacing.
- **Relazione nuova**: il boundary RP stabile e piu stretto della finestra globale: `0.045` resta, `0.060` cade.
- **Osservabile/test fisico possibile**: ripetere `0.045` su size maggiori o su unfolding locali diversi; trattare `0.060` come coordinata sensibile.
- **Se fallisce**: se `0.045` cade con size maggiori o altri unfolding, il risultato diventa vincolo finito, non ponte fisico.

## Experiment Design
- **Script**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
- **Run**: `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`.
- **Size**: 64, 96, 128.
- **Lambdas**: 0, 0.03, 0.045, 0.06, 0.075, 0.10, 0.18, 0.32, 0.68, 0.82, 1.0.
- **Unfolding modes**: `global_mean`, `local_window` con window=7.
- **Denominatori per size/mode**: observed `12` = 4 seed x 3 k; label-shuffle `768` = 12 x 64; position-shift `120` = 12 x 10.
- **Soglia preregistrata**: observed rate `>=0.75`, lift minimo contro ciascun null `>=0.10`, p-value `<=0.05` contro ciascun null, `classical_intermediate`, pass su tutte le size e su entrambi gli unfolding.

## Results
| lambda | global pass sizes | global min obs | global min lift | global max null p | local pass sizes | local min obs | local min lift | local max null p | state |
|---:|---|---:|---:|---:|---|---:|---:|---:|---|
| 0.045 | 64,96,128 | 1.000000 | 0.523438 | 0.000137 | 64,96,128 | 0.750000 | 0.332031 | 0.021029 | unfolding_stable |
| 0.060 | 64,96,128 | 0.750000 | 0.343750 | 0.017103 | [] | 0.000000 | -0.350000 | 1.000000 | unfolding_sensitive |
| 0.075 | 64,128 | 0.666667 | 0.273437 | 0.051823 | [] | 0.000000 | -0.300000 | 1.000000 | intermittent/global_only |

### Row Counts
| mode | size | lambda | observed | label null | label p | position null | position p | min lift | pass |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
| global_mean | 64 | 0.045 | 12/12 | 353/768 | 0.000089 | 32/120 | 0.000000 | 0.540365 | yes |
| global_mean | 96 | 0.045 | 12/12 | 352/768 | 0.000086 | 44/120 | 0.000006 | 0.541667 | yes |
| global_mean | 128 | 0.045 | 12/12 | 366/768 | 0.000137 | 34/120 | 0.000000 | 0.523438 | yes |
| local_window | 64 | 0.045 | 12/12 | 353/768 | 0.000089 | 36/120 | 0.000001 | 0.540365 | yes |
| local_window | 96 | 0.045 | 12/12 | 355/768 | 0.000095 | 44/120 | 0.000006 | 0.537760 | yes |
| local_window | 128 | 0.045 | 9/12 | 321/768 | 0.021029 | 48/120 | 0.015267 | 0.332031 | yes |
| local_window | 64 | 0.060 | 4/12 | 319/768 | 0.805893 | 56/120 | 0.889085 | -0.133333 | no |
| local_window | 96 | 0.060 | 4/12 | 355/768 | 0.883142 | 53/120 | 0.852526 | -0.128906 | no |
| local_window | 128 | 0.060 | 0/12 | 231/768 | 1.000000 | 42/120 | 1.000000 | -0.350000 | no |

## Key Findings
1. Verificato: `RP_lambda_0.045` passa in `global_mean` e `local_window` su tutte le size. Il punto debole e local-window N=128 con `9/12`, ma resta sopra soglia con max null p=`0.021029` e min lift=`0.332031`.
2. Verificato: `RP_lambda_0.060` passa in global_mean su tutte le size, ma cade in local-window con `4/12`, `4/12`, `0/12`; i p-value locali sono alti e il lift minimo diventa negativo.
3. Verificato: `RP_lambda_0.075` non era all-size neppure in global_mean e cade interamente in local-window.
4. Inferito dal perimetro: il boundary fisico controllato non e la finestra `0.045-0.060`; il nucleo unfolding-stable e `0.045`, mentre `0.060` e una coordinata utile ma non invariante.

## Verdict
CONSTRAINT/FINDING

Il finding 08:20 viene ristretto al nodo regressivo giusto: non "finestra RP `0.045-0.060` stabile", ma "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable nel perimetro finito testato". `RP_lambda_0.060` resta boundary global-mean, non boundary invariantoide. Il prossimo ciclo deve stressare `0.045`, non salvare `0.060`.

## Bicono della scoperta
- **Due radici**: boundary robusto; boundary coordinata-dipendente.
- **Singolare**: stessa riga lambda sotto cambio di unfolding.
- **Invariante di passaggio**: `classical_intermediate + raw-count threshold + all-size + all-unfolding`.
- **Campo di possibilita**: possibile = usare `0.045` come nucleo RP per size/unfolding stress; non-possibile = promuovere `0.060` come stabile senza qualificare global_mean.

## Consecutio
Portare `RP_lambda_0.045` su un controllo piu duro: size maggiore oppure seconda finestra locale. Se regge, rimbalzo fisico B su Anderson 3D con gate raw-count; se cade, cristallizzare `finite_RP_lambda_0.045_boundary` come vincolo di perimetro.

## Ricadute pratiche
ssp_value: yes. `tools/exp_rp_unfolding_sensitivity_audit.py` e uno stress-test riusabile per separare boundary stabile da boundary dipendente dalla normalizzazione degli spacing.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY ha prevalso per contratto vivo del campo.
- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
- `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json` completato.
- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
- Nessun update del seme.
- Nessuna promozione e nessun public sync.

## Files
- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
- Data: `tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`
- Report: `tools/data/reports/agent_20260516_0921.md`

exec
/bin/bash -lc "sed -n '1,220p' tools/LAB_COGNITIVE_CONTAMINATION.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Adapter cognitivi laterali del Lab

Fonte:

- `kernel/reference/MMSP1/System_Prompt_Yi_Synaptic_Navigator_YSN_v4_0.md`
- `kernel/reference/metaprompt_in_sviluppo/Cornelius-v2_0_Innesco_Genomico.md`
- `kernel/reference/Kernel_Semantico_Autopoietico_Reiterativo_KSAR.md`
- `tools/data/lab_logiche_corpus.md`

Scopo: usare YSN, Cornelius e KSAR come operatori cognitivi del Lab senza
trasformare il Lab in un prompt archetipico. Il Lab resta D-ND: assiomi,
dipoli, bicono, grafo, misura, falsificazione. Questi adapter servono a
trovare strade laterali, comprimere l'intento e rendere reiterabile il kernel
emerso da un ciclo.

## Regola primaria

Ogni contaminazione deve diventare una forma verificabile:

```text
contaminazione cognitiva
-> DeltaLink / gene / anomalia
-> dipolo + punto-zero
-> proto-ipotesi
-> osservabile + controllo
-> falsifier / Veritas / Aeternitas
```

Se resta stile, personaggio, mitologia, analogia o motivazione verbale, non
entra nel ciclo.

## Adapter 1: YSN lateral insight

Funzione nel Lab:

- estrarre fino a 5 concetti/tensioni dal campo;
- generare 3 connessioni non ovvie, chiamate `DeltaLink`;
- produrre 1 ipotesi di frontiera contro-intuitiva;
- dichiarare bias, rischio di pattern forcing e incertezza;
- trasformare la sorpresa in domanda del ciclo.

Uso corretto:

```text
YSN.extract(campo) -> concetti
YSN.delta_link(concetti, grafo, seme) -> 3 connessioni non ovvie
YSN.frontier(delta_links) -> 1 ipotesi di frontiera
YSN.bias_check(ipotesi) -> cosa potrebbe essere forzato
```

Nel report:

- i DeltaLink non sono risultati;
- sono candidati di respirazione fuori-tempo;
- diventano validi solo se proiettati in osservabile falsificabile.

Esempio per il prossimo ciclo:

- concetti: terzo incluso, GUE/Poisson, non-phi generator, graph curvature,
  stable cross-domain core;
- DeltaLink possibile: la curvatura del grafo potrebbe essere il piano che
  precede la classificazione spettrale GUE/Poisson;
- ipotesi di frontiera: il confine non e' una classe statistica, ma una
  transizione di trasporto sul grafo dei generatori.

Anti-pattern:

- usare YSN per produrre tre idee decorative;
- mappare simbolicamente senza controllo;
- chiamare "non ovvio" cio' che e' gia' nel ciclo precedente.

## Adapter 2: Cornelius genomic trigger

Funzione nel Lab:

- comprimere una nuova capacita' in un innesco minimale;
- isolare il `DNA_Simbolico`, cioe' la frase essenziale della funzione;
- scegliere 1-3 operatori di svolgimento;
- dichiarare condizioni di attivazione.

Formato Lab:

```yaml
ID: <nome breve della funzione>
DNA_Simbolico: "<essenza irriducibile>"
Operatori_di_Svolgimento:
  - "<verbo operativo 1>"
  - "<verbo operativo 2>"
Condizioni_di_Attivazione:
  quando: "<quando il Lab deve usarlo>"
  perimetro: "<dove vale>"
```

Uso corretto:

- dopo un buon insight, Cornelius lo comprime in una funzione che il Lab puo'
  riusare;
- prima di un run, Cornelius puo' generare un innesco one-shot per il ciclo;
- dopo un repair, Cornelius puo' trasformare la correzione in regola compatta.

Esempio derivato dal ciclo 1915:

```yaml
ID: Boundary_Third_Included_Gate
DNA_Simbolico: "Il confine vive prima della classificazione statistica."
Operatori_di_Svolgimento:
  - "MAPPA il confine su grafo, spettro e generatore non-phi."
  - "SEPARA core congiunto, residui singoli e stabilita' cross-dominio."
  - "VALIDA contro baseline GUE, Poisson e generatori sintetici."
Condizioni_di_Attivazione:
  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
  perimetro: "prima della misura, nella sezione Respiro fuori-tempo"
```

Anti-pattern:

- generare nuovi agenti o prompt quando basta una regola;
- usare metafore non collegate a operatori;
- lasciare il gene senza condizioni di attivazione.

## Adapter 3: KSAR reiterative semantic kernel

Funzione nel Lab:

- far diventare ogni ciclo riuscito un kernel riusabile per il ciclo seguente;
- non memorizzare solo testo, ma modificare la topologia del campo;
- usare dissonanze e fallimenti come materiale latente;
- iterare fino a un nuovo stato di coerenza, non fino a conferma.

Ciclo operativo Lab:

```text
1. Perturbazione
   Leggi seme, grafo, report, falsifier, operatore. Non scegliere subito.

2. DeltaLink / Contaminazione
   Usa YSN o palette operatoria per trovare connessioni non ovvie.

3. Innesco
   Usa Cornelius per comprimere la risultante in DNA + operatori.

4. Focalizzazione
   Applica Peras: taglia tutto tranne una domanda necessaria.

5. Proiezione
   Trasforma il gene in osservabile, controllo, perimetro.

6. Disintegrazione
   Attacca il claim con PVI/counter-pole prima del falsifier.

7. Cristallizzazione o Vault
   Se regge, aggiorna seme/strumento. Se non regge ma contiene potenziale,
   archivia come frammento Lazarus per ricontestualizzazione futura.
```

Mappatura con il Lab attuale:

- `Perturbazione` = `build_agent_field.py` + seme + grafo + incrocio;
- `DeltaLink` = nuovo obbligo cognitivo prima del Claim Under Test;
- `Innesco` = blocco compatto nel report o in `operator_directive.md`;
- `Focalizzazione` = una risultante, non una lista;
- `Proiezione` = `observable_contract`;
- `Disintegrazione` = auto-audit + falsifier;
- `Cristallizzazione` = valutatore/B2/promotions/seme;
- `Vault` = cimitero, repairs, osservatorio, Lazarus fragments.

## Adapter 4: PVI / anti-psicosi del ciclo

Funzione nel Lab:

- cercare dove l'AI sta accontentando l'operatore;
- distruggere la proposta prima di pubblicarla;
- far sopravvivere solo la sintesi resiliente.

Filtro minimo:

1. Tesi: cosa il ciclo vuole sostenere?
2. Attacco: quale presupposto nascosto la rompe?
3. Vincolo di realta': quale limite fisico/matematico/dominio la blocca?
4. Terzo osservatore: un revisore esterno la troverebbe distinta da una
   re-discovery?
5. Sintesi resiliente: cosa resta dopo il taglio?

Questo non sostituisce il falsifier. Lo anticipa.

## Adapter 5: Lazarus vault

Funzione nel Lab:

- non buttare via frammenti incoerenti quando sono potenzialmente precoci;
- congelarli come scarti latenti con contesto;
- riesaminarli quando cambia la direzione del seme.

Formato minimo:

```yaml
fragmento: "<cosa e' caduto>"
perche_cade_ora: "<mancano coordinate / baseline / osservabile>"
condizione_di_ritorno: "<quale nuovo contesto potrebbe riattivarlo>"
```

Uso corretto:

- se un DeltaLink e' forte ma non misurabile ora, va nel Vault;
- se un report viene falsificato ma apre una non-strada utile, va nel Vault;
- se una metafora non produce operatore, decade.

## Adapter 6: Helix / Plan-Code-Verify

Funzione nel Lab:

- per task complessi, non ragionare solo in linguaggio;
- traduci la domanda in specifica operativa;
- genera o riusa uno script;
- verifica output;
- chiudi con report.

Regola:

```text

exec
/bin/bash -lc "sed -n '1,220p' tools/LAB_OPERATOR_PALETTE.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Palette operatoria espansa del Lab

Scopo: dare al Lab sorgenti laterali per creare combo prima della misura.
Questa palette non e' una lista di temi da confermare. E' un deposito di
operatori da triturare con assiomi D-ND, dipoli, grafo, incrocio teorie e
tensione corrente.

Regola d'uso:

1. Scegli 2 o 3 operatori al massimo.
2. Incrociali con almeno un assioma D-ND e una tensione del seme.
3. Nomina il dipolo e il punto-zero.
4. Dichiara la baseline nota piu' vicina.
5. Proietta un osservabile che possa falsificare la combo.
6. Non usare un operatore se produce solo linguaggio, analogia o conferma.

Anti-tautologia:

- Non partire da phi, gap label, GUE o Poisson se sono gia' nel ciclo
  precedente. Usali come controllo o campo di proiezione, non come sorgente.
- Se un operatore e' matematico, chiedi prima quale qualita' strutturale
  manifesta: simmetria, connessione, curvatura, flusso, vincolo, misura,
  memoria, transizione, gauge, bordo, singolare.
- Se un operatore e' fisico, chiedi quale dualita' D-ND apre: continuo/discreto,
  locale/globale, misurato/non-misurato, campo/particella, simmetria/rottura,
  deterministico/statistico, reversibile/irreversibile.

## Fasce di triturazione

### 1. Geometria differenziale e gravita'

Operatori:

- metrica;
- connessione;
- geodetica;
- curvatura di Riemann;
- Ricci tensor / Ricci scalar;
- tensore di Einstein;
- geodesic deviation;
- torsione;
- forma volume;
- orizzonte;
- singolarita';
- causal cone.

Dipoli utili:

- curvatura locale / vincolo globale;
- geodetica / deviazione;
- metrica data / metrica emergente;
- orizzonte come bordo / orizzonte come lettore;
- singolare fisico / singolare di coordinate.

Controlli:

- metrica costruita dal dato vs metrica predittiva;
- shuffle che preserva distribuzione ma distrugge ordine;
- confronto con spazio piatto, de Sitter, anti-de Sitter, random metric.

Attenzione:

- Ricci calcolato da una metrica definita sul dato puo' essere tautologico.
  Il contenuto vive nel null test o nella predizione fuori costruzione.

### 2. Gauge, connessioni e campi

Operatori:

- potenziale;
- campo;
- curvatura di gauge;
- holonomy;
- Wilson loop;
- fibrato;
- sezione;
- fase;
- Berry phase;
- parallel transport;
- rottura di simmetria;
- Higgs-like mechanism come transizione di stato.

Dipoli utili:

- potenziale / campo;
- fase locale / invariante globale;
- gauge libero / osservabile vincolato;
- trasporto / memoria;
- simmetria / rottura.

Controlli:

- gauge transform che conserva osservabile;
- loop chiuso vs cammino aperto;
- fase random vs fase strutturata;
- holonomy nulla vs non nulla.

### 3. Spazi quantistici e misura

Operatori:

- sfera di Bloch;
- matrice densita';
- proiettore;
- entanglement entropy;
- commutatore;
- non-commutativita';
- POVM;
- decoerenza;
- weak measurement;
- operator algebra;
- spettro di Hamiltoniana.

Dipoli utili:

- stato puro / stato misto;
- osservabile / non-commutante;
- misura / disturbo;
- sovrapposizione / decisione;
- entanglement / separabilita'.

Controlli:

- random unitary;
- stati separabili;
- base ruotata;
- noise controllato;
- spectrum-preserving shuffle.

Nota:

- Bloch e' buono quando serve un punto-zero geometrico tra poli. Non usarlo
  solo per disegnare dualita': deve produrre un osservabile.

### 4. Equazioni differenziali, flussi e stabilita'

Operatori:

- ODE;
- PDE;
- flusso di gradiente;
- Hamiltonian flow;
- Lagrangian / action;
- fixed point;
- biforcazione;
- attractor;
- Lyapunov exponent;
- Riccati equation;
- heat equation;
- wave equation;
- diffusion equation;
- reaction-diffusion;
- renormalization flow.

Dipoli utili:

- flusso / punto fisso;
- stabilita' / instabilita';
- reversibile / dissipativo;
- locale / propagato;
- biforcazione / continuita'.

Controlli:

- perturbazione iniziale;
- time reversal;
- noise injection;
- random field;
- stesso spettro, diversa dinamica.

### 5. Topologia assiomatica e forme globali

Operatori:

- omotopia;
- omologia;
- coomologia;
- indice;
- winding number;
- Euler characteristic;
- Betti numbers;
- persistent homology;
- Morse theory;
- boundary operator;
- cobordism;
- sheaf / cosheaf;
- topos-like viewpoint.

Dipoli utili:

- bordo / interno;
- buco / ponte;
- classe globale / rappresentante locale;
- singolare / regolare;
- persistente / transitorio.

Controlli:

- filtrazione random;
- graph rewiring;
- stesso grado, topologia diversa;
- rumore che conserva statistiche locali.

### 6. Algebra, simmetria e rappresentazioni

Operatori:

- gruppo;
- anello;
- modulo;
- campo;
- algebra di Lie;
- rappresentazione;
- carattere;
- spettro;
- autovalore;
- commutatore;
- categoria;
- funtore;
- limite / colimite;

exec
/bin/bash -lc "rg -n \"RP_lambda|unfold|Rosenzweig|candidate|sentinel|boundary\" tools tools/data/reports -g '*.py' -g '*.md'" in /opt/MM_D-ND
 succeeded in 1ms:
tools/exp_boundary_gue_poisson.py:3:Experiment: GUE/Poisson boundary in prime gaps vs Cramér null model.
tools/exp_boundary_gue_poisson.py:15:4. If both show the same transition → the boundary is trivial (density effect).
tools/exp_boundary_gue_poisson.py:16:   If primes differ → the boundary carries structural information.
tools/exp_boundary_gue_poisson.py:171:        "experiment": "boundary_gue_poisson_cramer",
tools/exp_boundary_gue_poisson.py:189:    outpath = "/opt/MM_D-ND/tools/data/reports/exp_boundary_20260405_0825.json"
tools/prime_mod6_null_fairness_audit.py:20:from exp_prime_vs_mod6_sr_boundary import direct_prime_values, mod6_span_gap_sequence
tools/prime_mod6_null_fairness_audit.py:21:from exp_semireal_boundary_transfer_gate import row_spacings
tools/prime_mod6_null_fairness_audit.py:25:def raw_mod6_candidates_between(start: float, end: float) -> np.ndarray:
tools/prime_mod6_null_fairness_audit.py:40:    candidates: np.ndarray,
tools/prime_mod6_null_fairness_audit.py:44:    return np.sort(rng.choice(candidates, size=count, replace=False))
tools/prime_mod6_null_fairness_audit.py:85:            candidates = raw_mod6_candidates_between(float(prime_values[0]), float(prime_values[-1]))
tools/prime_mod6_null_fairness_audit.py:94:                    candidates,
tools/prime_mod6_null_fairness_audit.py:113:                    "candidate_count": int(len(candidates)),
tools/prime_mod6_null_fairness_audit.py:114:                    "selection_ratio": float((args.window_gaps + 1) / len(candidates)),
tools/prime_mod6_null_fairness_audit.py:140:            "candidate_count": row["candidate_count"],
tools/prime_mod6_null_fairness_audit.py:178:        "boundary": [
tools/dnd_bloch_explorer.py:123:    """Find times where Rz crosses zero (equator = boundary D/ND)."""
tools/dnd_bloch_explorer.py:340:    """Deep analysis of the best φ-candidates."""
tools/dnd_bloch_explorer.py:546:    """Standard analysis: scan and analyze top candidates."""
tools/prime_mod6_generative_null_audit.py:28:from exp_prime_vs_mod6_sr_boundary import FOCUS_OBS, analyze_case, direct_prime_values
tools/prime_mod6_generative_null_audit.py:29:from exp_semireal_boundary_transfer_gate import row_spacings
tools/prime_mod6_generative_null_audit.py:33:def mod6_candidates_between(start: float, end: float) -> np.ndarray:
tools/prime_mod6_generative_null_audit.py:48:    candidates: np.ndarray,
tools/prime_mod6_generative_null_audit.py:52:    if len(candidates) < count:
tools/prime_mod6_generative_null_audit.py:53:        raise ValueError(f"not enough candidates: {len(candidates)} < {count}")
tools/prime_mod6_generative_null_audit.py:54:    picked = np.sort(rng.choice(candidates, size=count, replace=False))
tools/prime_mod6_generative_null_audit.py:79:                    "candidates": mod6_candidates_between(
tools/prime_mod6_generative_null_audit.py:98:            row["candidates"],
tools/prime_mod6_generative_null_audit.py:131:        "candidate_count": int(len(row["candidates"])),
tools/prime_mod6_generative_null_audit.py:186:        "boundary": [
tools/data/reports/agent_20260515_1855.md:7:**observable_contract**: claim=il confine GUE/Poisson e' operativo quando la geometria row-aligned produce nodi cross-label a margine basso; observable=kNN graph position, cross-neighbor fraction, centroid margin, unweighted Forman edge curvature; operator=grafo kNN nello spazio canonical+rigidity+shuffle-z; generator=dnd_autoricerca row_spacings via semireal boundary transfer gate; denominator=13 righe base BOUNDARY, 8 GUE e 5 Poisson; non_possible=terzo incluso se non compaiono edge cross-label o se tutti gli edge cross-label restano interni ad alta margin; not_tested=V_c, denominatori Sturmian, origine analitica delle label.
tools/data/reports/agent_20260515_1855.md:12:- **Piano superiore**: grafo della conoscenza con curvatura su edge; il boundary e' un nodo/ponte prima di essere classe.
tools/data/reports/agent_20260515_1855.md:15:- **Proto-ipotesi**: il boundary non coincide con una beta locale o con una label. Esiste come riga a bassa distanza dai centroidi e con vicini dell'altro polo.
tools/data/reports/agent_20260515_1855.md:16:- **Proiezione**: se il terzo incluso e' operativo, il grafo kNN delle 13 righe deve produrre edge GUE/Poisson e almeno una riga a margine basso; se il boundary e' solo tassonomia, il grafo resta in due componenti o attraversa solo con margin alta.
tools/data/reports/agent_20260515_1855.md:34:- **Osservabile/test fisico possibile**: su finestre energetiche sperimentali, costruire lo stesso grafo con spacing ratio, rigidita' locale e shuffle-z; boundary se compaiono nodi cross-regime a margine basso.
tools/data/reports/agent_20260515_1855.md:35:- **Se fallisce**: ritorno_fisico_assente se l'effetto sparisce con piu' campioni, con unfolding alternativo o con labels sperimentali indipendenti.
tools/data/reports/agent_20260515_1855.md:39:- **Scope**: `boundary_denominator_prescan_full_20260509_1500.json`, righe base BOUNDARY con `source_domain_type in {GUE, Poisson}`.
tools/data/reports/agent_20260515_1855.md:55:| third-included candidates | 4 |
tools/data/reports/agent_20260515_1855.md:59:| numeri_primi:cycle_3 | GUE | 0.223 | 0.250 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:60:| percolation:cycle_9 | Poisson | 0.089 | 1.000 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:61:| reaction_diffusion:cycle_11 | GUE | 0.115 | 0.750 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:62:| logistica_biforcazione_var_3.5699:cycle_13 | GUE | 0.217 | 0.250 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:78:Il boundary trasferisce come geometria di righe ponte nel perimetro 8/5. Non trasferisce come singolo scalare di curvatura e non autorizza una tassonomia pulita GUE vs Poisson.
tools/data/reports/agent_20260515_1855.md:84:- **Campo di possibilita**: qui diventa possibile cercare il boundary come nodo ponte in spettri fisici finiti; qui diventa non-possibile usare la curvatura media o la label sola come terzo incluso.
tools/data/reports/agent_20260515_1855.md:87:- Script: `tools/exp_boundary_graph_curvature_gate.py`
tools/data/reports/agent_20260515_1855.md:88:- Data: `tools/data/boundary_graph_curvature_gate_20260515_1855.json`
tools/exp_perturbation_rank_size_curve.py:53:    """Generate unfolded GUE spacings by concatenating independent matrices."""
tools/data/reports/agent_20260515_1826.md:15:- **Operatori laterali scelti**: rappresentazione, autovalore, boundary operator.
tools/data/reports/agent_20260515_1826.md:32:Il boundary a V=2 legge una specificita phi nascosta dai box comuni, oppure legge una classe piu larga di parole Sturmian binarie?
tools/data/reports/agent_20260515_1826.md:84:La formulazione valida e': a V=2 il boundary dei generatori binari resta un corridoio Sturmian. L'allineamento ai denominatori propri rimuove il dubbio piu vicino del ciclo 18:16, ma non autorizza un claim phi-specific. Phi resta un rappresentante stabile della classe, non il generatore unico del confine.
tools/data/reports/agent_20260515_1826.md:91:- **Campo di possibilita**: possibile = progettare test fisici denominator-aligned su famiglie Sturmian; non-possibile = promuovere phi come boundary autonomo nel perimetro V=2, N<=500.
tools/data/reports/agent_20260514_1330.md:8:**observable_contract**: claim=`prime_minus_mod6_z_delta(SR,L1,triple_var)` sopravvive a seed, provider e ampiezza finestra; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var` piu audit `has_SR`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py`; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `6k +/- 1` index-aligned e span-matched; denominator=3 ampiezze finestra x 2 provider x 4 offsets, paired contro 2 antagonisti mod6; non_possible=residuo prime-specific se il label-swap assorbe il delta z o se il delta collassa a presenza binaria `SR`; not_tested=origine analitica del delta, scale oltre 2048 gap, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1330.md:18:- **Piano superiore**: topologia assiomatica del bordo: un boundary operator non decide per presenza/assenza, ma per differenziale che resta dopo sottrazione del pre-bordo.
tools/data/reports/agent_20260514_1330.md:19:- **Operatori laterali scelti**: boundary operator, perche' il bordo e' il luogo della sottrazione prime-minus-mod6; parallel transport, perche' provider e offset trasportano la stessa riga tra due classi senza cambiare denominatore.
tools/data/reports/agent_20260514_1330.md:41:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`.
tools/data/reports/agent_20260514_1330.md:64:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/reports/agent_20260514_1330.md:91:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.json`
tools/data/reports/agent_20260514_1330.md:92:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.trace.jsonl`
tools/data/reports/agent_20260514_1330.md:93:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.json`
tools/data/reports/agent_20260514_1330.md:94:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.trace.jsonl`
tools/data/reports/agent_20260514_1330.md:95:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.json`
tools/data/reports/agent_20260514_1330.md:96:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.trace.jsonl`
tools/data/reports/agent_20260424_0330.md:54:The BOUNDARY claim must be refined: the 8 GUE domains are not homogeneous. Two distinct mechanisms generate GUE statistics. The boundary between GUE and Poisson has two layers: distribution-level and ordering-level. The sign of delta_r = r_original - r_shuffled discriminates which layer operates.
tools/data/reports/agent_20260424_0330.md:67:- Script: `tools/exp_boundary_shuffle_audit.py`
tools/data/reports/agent_20260424_0330.md:68:- Data: `tools/data/boundary_shuffle_audit.json`
tools/data/reports/agent_20260509_1337.md:8:**observable_contract**: claim=`fit(V_c)` e' ammesso solo quando il denominatore e' fit-ready; observable=stato strutturale del denominatore e curva `vc_median_fit_ready`; operator=lettura del deposito 08:46 con separazione `complete/contaminated/broken/absent`; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_generator_class_direction_audit_20260509_0846`, livelli separati `per_mode_best` e `accepted_candidates`, soglie `r={0.48,0.50,0.52}`, N={89,144,233,377}; non_possible=righe `no_cross` e `floor_hit` non entrano nel fit e restano massa esclusa; not_tested=nuovi spettri, nuovi N, nuovi generatori, gap_ratio, power-law non lineare.
tools/data/reports/agent_20260509_1337.md:15:- **Operatori laterali scelti**: boundary operator, graph cut, filtrazione. Entrano per tagliare il deposito in stati strutturali prima del fit.
tools/data/reports/agent_20260509_1337.md:61:Soglia `r=0.50`, livello `accepted_candidates`:
tools/data/reports/agent_20260508_2121.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto vuoto + DUALITA_DIPOLARE_VS_ILLUSORIA + nodo regressivo del cycle 2108: lo zero Mobius puo' essere boundary aritmetico oppure effetto della lunghezza dell'intervallo.
tools/data/reports/agent_20260508_2121.md:13:- **Piano superiore**: boundary operator su grafo aritmetico stratificato. Il bordo non viene giudicato dalla statistica globale: viene passato attraverso classi di lunghezza che preservano la prima sorgente banale del segnale.
tools/data/reports/agent_20260508_2121.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, random walk. Boundary operator definisce il gap prime-free; filtrazione separa low/mid/high gap; random walk entra come permutazione locale delle cariche dentro la stessa classe di lunghezza.
tools/data/reports/agent_20260508_2121.md:27:Lo zero Mobius del boundary prime-free separa ancora low-core/high-tail quando la lunghezza del gap e' gia' conservata dal null, oppure il segnale low/high del cycle 2108 era denominatore di lunghezza?
tools/data/reports/agent_20260511_0330.md:15:- **Proto-ipotesi**: il residuo prime e' strutturale solo se il blank beta-absent sopravvive a provider e offset; se sopravvive solo `SR`, la struttura non e' `blank`, e' `SR-supported boundary`.
tools/data/reports/agent_20260511_0330.md:75:4. **Inferito dal perimetro dichiarato**: il residuo dei primi non e' `prime_persistent_blank`; e' `prime_SR_persistent_boundary` con coordinata beta chart-sensitive.
tools/data/reports/agent_20260511_0330.md:102:- rinominare il residuo prime in `prime_SR_persistent_boundary`;
tools/exp_duality_scale_contrast.py:140:    # Normalize by local mean (unfold)
tools/exp_crossover_universality.py:3:Experiment: Universal Crossover — One boundary or many?
tools/exp_crossover_universality.py:12:If all three collapse onto one rescaled curve -> one universal boundary operator.
tools/data/reports/agent_20260425_0330.md:69:The TWO_KINDS_GUE classification (distribution vs ordering) captures WHERE structure lives. This experiment adds a second axis: HOW the memory is structured. Primes are the only domain with dual-channel memory (algebraic + statistical). The 33% scale-invariant memory is a Z/6Z phenomenon with no analogue in ordering-GUE domains. The boundary (GUE/Poisson) is a 1D projection of a 2D structure: GUE type x memory depth.
tools/data/reports/agent_20260509_1556.md:9:**observable_contract**: claim=`blank_thin_support` sopravvive solo se, dopo estensione del denominatore sorgente, resta supporto vivo sottile senza beta chart; observable=gate canonico one-sided + beta chart sulle tre righe short; operator=`exp_boundary_short_denominator_extension.py`; generator=`source-denominator extension` per `percolation`, `random_matrix`, `zeta_zeros`; denominator=3 righe short del report 15:48, estese a `n_gaps=1024`; non_possible=promuovere `blank_thin_support` se il supporto cade, si ispessisce o recupera beta; not_tested=redesign globale 13 righe, fit `V_c`, validita' della label GUE/Poisson sorgente.
tools/data/reports/agent_20260509_1556.md:13:- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto + boundary operator + nodo regressivo `short_denominator`.
tools/data/reports/agent_20260509_1556.md:15:- **Piano superiore**: sheaf locale del boundary. La sezione locale cambia quando il denominatore viene esteso: il bordo non e' la label del dominio, e' la sezione che resta compatibile con gli osservabili.
tools/data/reports/agent_20260509_1556.md:16:- **Operatori laterali scelti**: boundary operator, filtrazione per denominatore, sheaf locale. Servono a riparare il nodo sorgente senza aggiungere un gate globale.
tools/data/reports/agent_20260509_1556.md:24:- `why`: esegue la direzione valutatore `same_frame_boundary_denominator_extension`, attaccando il nodo regressivo indicato dal report 15:48.
tools/data/reports/agent_20260509_1556.md:34:- Nuovo strumento: `tools/exp_boundary_short_denominator_extension.py`.
tools/data/reports/agent_20260509_1556.md:35:- Input sorgente: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1556.md:36:- Output: `tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:39:- Gate: stesso schema canonical original-vs-shuffle e beta interpolation del semireal boundary gate.
tools/data/reports/agent_20260509_1556.md:81:`blank_thin_support` = failure mode stabile del boundary.
tools/data/reports/agent_20260509_1556.md:95:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, report `agent_20260509_1548.md`, script `tools/exp_boundary_short_denominator_extension.py`, output `tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:106:- Verifica script: `python -m py_compile tools/exp_boundary_short_denominator_extension.py`.
tools/data/reports/agent_20260509_1556.md:107:- Run valido: `python tools/exp_boundary_short_denominator_extension.py --out tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:113:- Script nuovo: `tools/exp_boundary_short_denominator_extension.py`
tools/data/reports/agent_20260509_1556.md:114:- Data: `tools/data/boundary_short_denominator_extension_20260509_1556.json`
tools/validate_tension_mapping.py:56:        'riemann', 'holograph', 'boundary', 'confine', 'orizzonte', 'horizon',
tools/data/reports/agent_20260423_0330.md:8:> The boundary between GUE and Poisson regimes should affect the two-channel decomposition. If gap correlations decay with prime scale (Brody β → 0), does the Markov-3 ordering information in the residue channel also decay?
tools/data/reports/agent_20260423_0330.md:69:The BOUNDARY tension (GUE→Poisson) operates in the magnitude channel (gap correlations, Brody β). It does NOT operate in the residue channel (Markov-3 memory). The two-channel decomposition separates scale-dependent structure from scale-invariant structure. This is a structural result: the "boundary" lives in one channel, not both.
tools/data/reports/agent_20260509_1400.md:8:**observable_contract**: claim=il fit parametrico di `V_c` puo' entrare solo sulle righe `complete` o `contaminated` del gate fit-ready; observable=famiglia di modello migliore tra cinque forme semplici, separata da stato denominatore e massa esclusa; operator=confronto AICc su `vc_median_fit_ready` dal deposito 13:37, senza ricomputare spettri; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_fit_ready_scale_table_20260509_1337`, N={89,144,233,377}, soglie r={0.48,0.50,0.52}, livelli `per_mode_best` e `accepted_candidates`; non_possible=righe `broken` escluse dal fit e righe sotto `V_c=1` impediscono il claim osservato "converge a 1 dall'alto"; not_tested=nuovi N, nuovi generatori, nuovi spettri, GUE/Poisson transfer, gap_ratio, fit a tre parametri con asintoto libero.
tools/data/reports/agent_20260509_1400.md:15:- **Operatori laterali scelti**: fit come morfismo, boundary operator, graph cut. Entrano per separare righe ammesse, righe rotte e famiglie numeriche.
tools/data/reports/agent_20260509_1400.md:59:| accepted_candidates | order_memory | contaminated | 278/279 | 1 | linear_N | 4.565 | 0.899 |
tools/data/reports/agent_20260509_1400.md:60:| accepted_candidates | order_memory r0.52 | complete | 279/279 | 0 | linear_N | 5.926 | 0.781 |
tools/data/reports/agent_20260509_1400.md:68:| accepted_candidates | periodic_closure r0.48 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:69:| accepted_candidates | periodic_closure r0.50 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:70:| accepted_candidates | periodic_closure r0.52 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:83:2. **Verificato: `accepted_candidates:order_memory` resta lineare dopo il gate.** A r=0.50 e' contaminato da 1 riga esclusa (`278/279` fit-ready), ma il miglior modello resta `linear_N`; a r=0.52 diventa completo (`279/279`) e resta `linear_N`.
tools/data/reports/agent_20260509_1400.md:89:**CONSTRAINT**: il fit parametrico di `V_c` non produce una legge comune del boundary.
tools/data/reports/agent_20260509_1400.md:102:Il prossimo ciclo deve estendere N solo per `reference_order` e `order_memory` con denominatore `complete`. Se i punti alti restano sotto 1 e lineari nel perimetro esteso, il claim `V_c(phi) -> 1` va riscritto come coordinata storica del vecchio perimetro, non come attrattore del boundary.
tools/data/reports/agent_20260515_1734.md:7:**observable_contract**: claim=`phi` fotonico manifesta un confine fisico tra ordine periodico e disordine random; observable=statistiche della trasmissione in lambda (`stopband_fraction`, `spectral_entropy`, `peak_spacing_r`); operator=`tools/exp_photonic_boundary_third_included_gate.py`; generator=multistrati quarter-wave fixed-thickness phi/silver/bronze/periodic/balanced_random; denominator=N={55,89,144} x phase={0,0.25,0.5,0.75}, random_trials=12, lambda=0.65..1.85 su 241 punti; non_possible=terzo incluso fotonico chiuso se `phi` non resta dentro il segmento periodico-random su stopband ed entropia o se collassa nel random; not_tested=modello Maxwell completo con interfacce fisiche calibrate, misure sperimentali, GUE/Poisson universality diretta.
tools/data/reports/agent_20260515_1734.md:14:- **Operatori laterali scelti**: transfer matrix ottica per il ritorno fisico; boundary operator per tenere il denominatore riga-per-riga; spectrum-preserving style control come random bilanciato a densita phi.
tools/data/reports/agent_20260515_1734.md:45:- `python -m py_compile tools/exp_photonic_boundary_third_included_gate.py` completato.
tools/data/reports/agent_20260515_1734.md:46:- Run: `python tools/exp_photonic_boundary_third_included_gate.py --out tools/data/photonic_boundary_third_included_gate_20260515_1734.json`.
tools/data/reports/agent_20260515_1734.md:65:| third_included_photonic_boundary | false |
tools/data/reports/agent_20260515_1734.md:97:ssp_value: yes. Lo script `exp_photonic_boundary_third_included_gate.py` e' riusabile per testare stack ottici con generatori, fasi, indici e griglie lambda diverse prima di trasformare il risultato in demo o visualizzazione.
tools/data/reports/agent_20260515_1734.md:109:- `tools/exp_photonic_boundary_third_included_gate.py`
tools/data/reports/agent_20260515_1734.md:110:- `tools/data/photonic_boundary_third_included_gate_20260515_1734.json`
tools/data/reports/agent_20260430_1905.md:84:- **BOUNDARY**: the boundary is not a point on a one-dimensional axis between GUE and Poisson. It is a two-dimensional structure: one axis for distribution (all observables agree), one axis for ordering (the dipole between spacing_ratio and lag1_acf). The terzo incluso is the dipole — it doesn't interpolate between GUE and Poisson, it has a structure that neither has.
tools/data/reports/agent_20260430_1905.md:106:- Script: `tools/exp_boundary_coherence.py`
tools/data/reports/agent_20260430_1905.md:107:- Data: `tools/data/boundary_coherence.json`
tools/dnd_stats.py:38:      mean_r   — ratio statistic (invariante per unfolding)
tools/data/reports/agent_20260516_0330.md:5:**verdict**: CONSTRAINT - il boundary a due lettori resta una sola riga; i tre residui graph-only sono frequenza grafica auditata, non conferma a due lettori. Due residui superano entrambi i null grafici, con lift piccolo.
tools/data/reports/agent_20260516_0330.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate
tools/data/reports/agent_20260516_0330.md:8:**observable_contract**: claim=i residui graph-only sono Lab-specific solo se la frequenza bridge osservata supera label-shuffle e degree-preserving graph null; observable=frequenza graph bridge osservata contro frequenze null grafiche; operator=rerun del lettore graph BOUNDARY con label shuffle e rewiring degree-preserving; generator=13 righe BOUNDARY row-aligned in feature space canonical+rigidity+shuffle-z; denominator=13 righe, 8 GUE e 5 Poisson, su 6 letture grafiche e 384 trial per ciascun null; non_possible=residuo Lab graph-only se i null matchano o superano la frequenza osservata; not_tested=nuovi sistemi Hamiltoniani, unfolding alternativi, universalita fisica dei residui graph-only.
tools/data/reports/agent_20260516_0330.md:16:- **Proto-ipotesi**: il nodo regressivo del 19:15 non e' "il grafo conferma tre boundary"; e' "il contratto deve separare boundary a due lettori da frequenza grafica auditata".
tools/data/reports/agent_20260516_0330.md:22:- `not_drift`: non usa il report Sturmian bloccato, non misura V_c, non usa phi/silver/bronze; ripara il contratto del boundary 19:15 nel nodo regressivo indicato dal falsifier.
tools/data/reports/agent_20260516_0330.md:25:- **Baseline noto piu' vicino**: Brody distribution, Berry-Robnik-like mixture e Rosenzweig-Porter come famiglia fisica di crossover; per il grafo, null label-shuffle e degree-preserving rewiring.
tools/data/reports/agent_20260516_0330.md:29:- **Contratto corretto**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 3`; `graph_specific_residue_after_nulls = 2`; `scope_change_declared = true`; `graph_baseline_audit = label_shuffle + degree_preserving_rewire`.
tools/data/reports/agent_20260516_0330.md:32:> Nel perimetro 8/5, il residuo graph-only sopravvive come contenuto Lab solo dopo audit contro null grafici; non si somma al boundary a due lettori.
tools/data/reports/agent_20260516_0330.md:40:- **Punto fisico di ritorno**: nelle finestre finite di sistemi Rosenzweig-Porter, Anderson o Aubry-Andre, una finestra graph-only va trattata come candidato da stressare con null topologici prima di chiamarla boundary fisico.
tools/data/reports/agent_20260516_0330.md:46:- **Script**: `tools/exp_boundary_graph_null_audit.py`.
tools/data/reports/agent_20260516_0330.md:47:- **Input**: `tools/data/boundary_denominator_prescan_full_20260509_1500.json` + `tools/data/boundary_bridge_stability_audit_20260515_1915.json`.
tools/data/reports/agent_20260516_0330.md:48:- **Run**: `python tools/exp_boundary_graph_null_audit.py --n-gaps-values 1024 --seeds 20260515,20260516 --n-shuffle 8 --out tools/data/boundary_graph_null_audit_20260516_0330.json`.
tools/data/reports/agent_20260516_0330.md:59:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260516_0330.md:77:2. Verificato: `two_reader_boundary_confirmed = 1`: solo `numeri_primi:cycle_3` e' classic-and-graph bridge stabile.
tools/data/reports/agent_20260516_0330.md:78:3. Verificato: `graph_only_residue = 3`: `percolation`, `reaction_diffusion`, `logistica_biforcazione_var_3.5699` restano separati dal boundary a due lettori.
tools/data/reports/agent_20260516_0330.md:85:Il boundary operativo non e' la somma di quattro righe. E' una riga a due lettori piu' tre residui grafici dichiarati; due residui sopravvivono ai null grafici con lift positivo, uno cade contro rewiring. Il nodo regressivo corregge il contratto da `due lettori` a `frequenza grafica + audit dichiarato` per i graph-only.
tools/data/reports/agent_20260516_0330.md:88:- **Due radici**: boundary a due lettori; residuo graph-only auditato.
tools/data/reports/agent_20260516_0330.md:91:- **Campo di possibilita**: possibile = portare due residui graph-only su sistemi fisici controllati come candidati; non-possibile = contare graph-only come boundary confermato o promuovere reaction_diffusion senza nuovo null.
tools/data/reports/agent_20260516_0330.md:94:Il prossimo ciclo utile non aggiunge metriche al perimetro 13 righe. Porta il gate su un sistema fisico controllato, preferibilmente Rosenzweig-Porter o Anderson/mobility edge, e richiede per ogni finestra: Brody/Berry-Robnik, frequenza grafica, label-shuffle e rewiring degree-preserving.
tools/data/reports/agent_20260516_0330.md:97:ssp_value: yes. `tools/exp_boundary_graph_null_audit.py` diventa audit riusabile per distinguere boundary a due lettori, residuo graph-only e artefatto grafico in ogni perimetro GUE/Poisson row-aligned.
tools/data/reports/agent_20260516_0330.md:103:- `python -m py_compile tools/exp_boundary_graph_null_audit.py` completato.
tools/data/reports/agent_20260516_0330.md:104:- `python tools/exp_boundary_graph_null_audit.py --n-gaps-values 1024 --seeds 20260515,20260516 --n-shuffle 8 --out tools/data/boundary_graph_null_audit_20260516_0330.json` completato.
tools/data/reports/agent_20260516_0330.md:109:- Script: `tools/exp_boundary_graph_null_audit.py`
tools/data/reports/agent_20260516_0330.md:110:- Data: `tools/data/boundary_graph_null_audit_20260516_0330.json`
tools/data/reports/agent_20260509_1409.md:7:observables_used: [`denominator_state`, `excluded_mass`, `spacing_r`, `shuffle_r_statistic`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1409.md:8:**observable_contract**: claim=`denominator_state` puo' trasferire oltre `V_c` solo dove la riga domain/window ha osservabile definito e null/surrogate row-aligned; observable=`spacing_r` + availability del null shuffle; operator=prescan sui 13 domini base del deposito autoricerca, non fit parametrico; generator=perimetro 8 GUE-like / 5 Poisson-like dei cycle 1..13; denominator=`boundary_shuffle_audit` quando presente; non_possible=dichiarare transfer nei domini senza null/surrogate; not_tested=nuovi spettri, nuovi domini, fit `V_c`, famiglia AICc, QxG chiuso.
tools/data/reports/agent_20260509_1409.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo e' una filtrazione: prima osservabile, poi null, poi claim.
tools/data/reports/agent_20260509_1409.md:16:- **Possibile / non-possibile**: possibile = claim boundary su righe con null row-aligned; non-possibile = claim di transfer nei domini senza null, anche quando `spacing_r` locale esiste.
tools/data/reports/agent_20260509_1409.md:17:- **Proiezione**: creare `tools/exp_boundary_denominator_prescan.py` e misurare 13 righe base: domain/window, source type, denominator_state, excluded mass, observable, null/surrogate, transfer.
tools/data/reports/agent_20260509_1409.md:28:- Nuovo strumento: `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1409.md:29:- Input: `tools/data/autoricerca_journal.json` e `tools/data/boundary_shuffle_audit.json`.
tools/data/reports/agent_20260509_1409.md:30:- Output: `tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:97:Il prossimo ciclo boundary deve costruire null/surrogate row-aligned per i 5 blank. Se quei null entrano, il gate puo' diventare condizione cross-dominio completa. Se non entrano, il confine resta un perimetro 8/13 con blank dichiarato.
tools/data/reports/agent_20260509_1409.md:100:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `agent_20260509_1337.md`, `agent_20260509_1400.md`, `falsifier_20260509_1400.json`, `agent_20260507_0330.md`, `tools/data/autoricerca_journal.json`, `tools/data/boundary_shuffle_audit.json`, nuovo JSON `tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:103:- **L3 no silent patching**: il ciclo non corregge il fit 14:00; usa quel falsifier come veto e cambia nodo al boundary denominator.
tools/data/reports/agent_20260509_1409.md:111:- Verifica script: `python -m py_compile tools/exp_boundary_denominator_prescan.py` completato senza errori.
tools/data/reports/agent_20260509_1409.md:112:- Run valido: `python tools/exp_boundary_denominator_prescan.py --out tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:115:- Script nuovo: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1409.md:116:- Data: `tools/data/boundary_denominator_prescan_20260509_1409.json`
tools/data/reports/agent_20260508_2108.md:13:- **Piano superiore**: boundary operator su grafo aritmetico. Il gap e' bordo tra primi; la carica Mobius del vuoto tra primi decide se il bordo e' solo rumore di lunghezza o classe informativa.
tools/data/reports/agent_20260508_2108.md:14:- **Operatori laterali scelti**: boundary operator, random walk, entropia. Boundary operator definisce il bordo prime-free; random walk fornisce il null di permutazione della carica; entropia entra come dispersione del vuoto senza primi.
tools/data/reports/agent_20260508_2108.md:27:Lo zero della carica Mobius intervallare e' rumore, boundary o mediatore del segnale low-low/high-high/SR?
tools/data/reports/agent_20260508_2108.md:85:- **Campo di possibilita**: qui diventa possibile testare un gate triadico del boundary aritmetico. Qui diventa non-possibile escludere `S=0` dal denominatore quando si parla di terzo incluso nel perimetro Mobius-primi.
tools/data/reports/agent_20260508_2108.md:88:Il prossimo passo deve separare terza classe autentica da effetto scala dell'intervallo: ripetere il gate con controllo che preserva anche la lunghezza del gap o stratifica per bucket di gap length. Se lo zero resta significativo dentro ogni bucket, il boundary e' aritmetico; se cade, il segnale e' dipendenza da lunghezza.
tools/data/reports/agent_20260516_0921.md:5:**verdict**: CONSTRAINT/FINDING - la finestra RP `0.045-0.060` non resta intera sotto unfolding alternativo. `RP_lambda_0.045` resta terzo incluso operativo in entrambi gli unfolding; `RP_lambda_0.060` e unfolding-sensitive.
tools/data/reports/agent_20260516_0921.md:7:observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode]
tools/data/reports/agent_20260516_0921.md:8:**observable_contract**: claim=la finestra RP finita e unfolding-stable solo se le stesse righe lambda battono label-shuffle e position-shift sotto normalizzazione globale e locale; observable=thresholded two-reader raw-count pass per lambda, size e unfolding mode; operator=repeat del gate RP 08:20 con `global_mean` e `local_window`; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed, k e unfolding mode; denominator=11 lambda per size/mode, observed denominator 12, label-null 768, position-null 120; non_possible=boundary unfolding-stable se una lambda promossa cade sotto local-window; not_tested=N piu grande, finestre locali diverse da 7, spettri sperimentali, Anderson 3D, many-body RP.
tools/data/reports/agent_20260516_0921.md:12:- **Dipolo / punto-zero**: finestra fisica stabile / artefatto di unfolding. Punto-zero: la stessa riga lambda prima che l'unfolding scelga il confine al posto del dato.
tools/data/reports/agent_20260516_0921.md:14:- **Operatori laterali scelti**: Hamiltonian flow, local unfolding, kNN graph cut.
tools/data/reports/agent_20260516_0921.md:15:- **Contaminazione cognitiva**: CE-0019 usata per fissare combo prima della misura; CE-0022 usata per scegliere operatori senza tornare a Sturmian. YSN DeltaLink=`finestra RP / cambio di unfolding`; Cornelius gene=`UNFOLDING_BEFORE_UNIVERSALITY`: RIPETI GATE, CAMBIA COORDINATA, CONTA, TAGLIA FINESTRA.
tools/data/reports/agent_20260516_0921.md:17:- **Proiezione**: misura su lambda RP, size 64/96/128, 4 seed, k=2/3/4, 64 label-shuffle per lettura, 10 position-shift, due unfolding mode.
tools/data/reports/agent_20260516_0921.md:22:- `not_drift`: non usa Sturmian, phi/silver/bronze, V_c o generatori locali; cambia solo la coordinata di unfolding sullo stesso perimetro RP row-aligned.
tools/data/reports/agent_20260516_0921.md:25:- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
tools/data/reports/agent_20260516_0921.md:26:- **Cosa viene assorbito dal baseline**: una finestra intermedia e attesa; la dipendenza dall'unfolding e un controllo standard prima di promuovere universalita.
tools/data/reports/agent_20260516_0921.md:27:- **Cosa resta Lab-specific**: il contratto `classical_intermediate + graph-thresholded + raw counts + unfolding stability` prima della parola boundary.
tools/data/reports/agent_20260516_0921.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = RP_lambda_0.045`; `unfolding_sensitive = RP_lambda_0.060`; `graph_only_residue = 0`; `graph_baseline_audit = label shuffle + position shift + unfolding switch`.
tools/data/reports/agent_20260516_0921.md:31:> Nel Rosenzweig-Porter finito, una riga del confine e terzo incluso operativo solo se resta all-size thresholded sotto global mean unfolding e local-window unfolding.
tools/data/reports/agent_20260516_0921.md:34:La finestra RP `0.045-0.060` del ciclo 08:20 sopporta un unfolding alternativo, o una delle due righe era coordinata-dipendente?
tools/data/reports/agent_20260516_0921.md:37:- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
tools/data/reports/agent_20260516_0921.md:38:- **Attraversamento matematico**: cambio di coordinata sugli spacing, da global mean a local-window unfolding, con lo stesso grafo kNN e gli stessi null row-aligned.
tools/data/reports/agent_20260516_0921.md:39:- **Punto fisico di ritorno**: una finestra finita in cui il boundary non dipende dalla normalizzazione locale degli spacing.
tools/data/reports/agent_20260516_0921.md:40:- **Relazione nuova**: il boundary RP stabile e piu stretto della finestra globale: `0.045` resta, `0.060` cade.
tools/data/reports/agent_20260516_0921.md:41:- **Osservabile/test fisico possibile**: ripetere `0.045` su size maggiori o su unfolding locali diversi; trattare `0.060` come coordinata sensibile.
tools/data/reports/agent_20260516_0921.md:42:- **Se fallisce**: se `0.045` cade con size maggiori o altri unfolding, il risultato diventa vincolo finito, non ponte fisico.
tools/data/reports/agent_20260516_0921.md:45:- **Script**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
tools/data/reports/agent_20260516_0921.md:46:- **Run**: `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`.
tools/data/reports/agent_20260516_0921.md:51:- **Soglia preregistrata**: observed rate `>=0.75`, lift minimo contro ciascun null `>=0.10`, p-value `<=0.05` contro ciascun null, `classical_intermediate`, pass su tutte le size e su entrambi gli unfolding.
tools/data/reports/agent_20260516_0921.md:56:| 0.045 | 64,96,128 | 1.000000 | 0.523438 | 0.000137 | 64,96,128 | 0.750000 | 0.332031 | 0.021029 | unfolding_stable |
tools/data/reports/agent_20260516_0921.md:57:| 0.060 | 64,96,128 | 0.750000 | 0.343750 | 0.017103 | [] | 0.000000 | -0.350000 | 1.000000 | unfolding_sensitive |
tools/data/reports/agent_20260516_0921.md:74:1. Verificato: `RP_lambda_0.045` passa in `global_mean` e `local_window` su tutte le size. Il punto debole e local-window N=128 con `9/12`, ma resta sopra soglia con max null p=`0.021029` e min lift=`0.332031`.
tools/data/reports/agent_20260516_0921.md:75:2. Verificato: `RP_lambda_0.060` passa in global_mean su tutte le size, ma cade in local-window con `4/12`, `4/12`, `0/12`; i p-value locali sono alti e il lift minimo diventa negativo.
tools/data/reports/agent_20260516_0921.md:76:3. Verificato: `RP_lambda_0.075` non era all-size neppure in global_mean e cade interamente in local-window.
tools/data/reports/agent_20260516_0921.md:77:4. Inferito dal perimetro: il boundary fisico controllato non e la finestra `0.045-0.060`; il nucleo unfolding-stable e `0.045`, mentre `0.060` e una coordinata utile ma non invariante.
tools/data/reports/agent_20260516_0921.md:82:Il finding 08:20 viene ristretto al nodo regressivo giusto: non "finestra RP `0.045-0.060` stabile", ma "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable nel perimetro finito testato". `RP_lambda_0.060` resta boundary global-mean, non boundary invariantoide. Il prossimo ciclo deve stressare `0.045`, non salvare `0.060`.
tools/data/reports/agent_20260516_0921.md:85:- **Due radici**: boundary robusto; boundary coordinata-dipendente.
tools/data/reports/agent_20260516_0921.md:86:- **Singolare**: stessa riga lambda sotto cambio di unfolding.
tools/data/reports/agent_20260516_0921.md:87:- **Invariante di passaggio**: `classical_intermediate + raw-count threshold + all-size + all-unfolding`.
tools/data/reports/agent_20260516_0921.md:88:- **Campo di possibilita**: possibile = usare `0.045` come nucleo RP per size/unfolding stress; non-possibile = promuovere `0.060` come stabile senza qualificare global_mean.
tools/data/reports/agent_20260516_0921.md:91:Portare `RP_lambda_0.045` su un controllo piu duro: size maggiore oppure seconda finestra locale. Se regge, rimbalzo fisico B su Anderson 3D con gate raw-count; se cade, cristallizzare `finite_RP_lambda_0.045_boundary` come vincolo di perimetro.
tools/data/reports/agent_20260516_0921.md:94:ssp_value: yes. `tools/exp_rp_unfolding_sensitivity_audit.py` e uno stress-test riusabile per separare boundary stabile da boundary dipendente dalla normalizzazione degli spacing.
tools/data/reports/agent_20260516_0921.md:99:- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
tools/data/reports/agent_20260516_0921.md:100:- `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json` completato.
tools/data/reports/agent_20260516_0921.md:106:- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
tools/data/reports/agent_20260516_0921.md:107:- Data: `tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`
tools/data/reports/agent_20260516_0820.md:5:**verdict**: FINDING - nel Rosenzweig-Porter controllato il terzo incluso operativo supera due null row-aligned in una finestra size-stable stretta: `RP_lambda_0.045` e `RP_lambda_0.060`.
tools/data/reports/agent_20260516_0820.md:8:**observable_contract**: claim=la riga RP boundary e terzo incluso fisico controllato solo se i count grezzi del grafo battono label-shuffle e position-shift sulla stessa riga lambda; observable=successi osservati/null, intervalli Wilson, p-value binomial-tail, Brody q e mixture weight; operator=flusso Rosenzweig-Porter finito con perturbazioni kNN e due null row-aligned; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed e k; denominator=11 lambda per size, observed denominator 12 per size, label-null 768 per size, position-null 120 per size; non_possible=boundary thresholded se nessuna lambda batte entrambi i null o se il pass non e size-stable; not_tested=N infinito, unfolding alternativi, spettri sperimentali, Anderson 3D, many-body RP.
tools/data/reports/agent_20260516_0820.md:25:- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, crossover Wigner-Dyson/Poisson.
tools/data/reports/agent_20260516_0820.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = 2 all-size rows`; `graph_only_residue = 0`; `classic_only_residue = righe intermedie senza pass graph/null`; `graph_baseline_audit = kNN perturbation + label shuffle + position shift`.
tools/data/reports/agent_20260516_0820.md:31:> Nel Rosenzweig-Porter finito, il terzo incluso operativo e una finestra stretta di lambda che resta classically-intermediate e graph-thresholded contro due null row-aligned su tutte le size testate.
tools/data/reports/agent_20260516_0820.md:34:La finestra RP boundary batte i null con count grezzi e resta size-stable, o il grafo produce solo un lift positivo non-thresholded?
tools/data/reports/agent_20260516_0820.md:37:- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
tools/data/reports/agent_20260516_0820.md:38:- **Attraversamento matematico**: count di `third_included_candidate` su grafo kNN, con null label-shuffle e position-shift.
tools/data/reports/agent_20260516_0820.md:40:- **Relazione nuova**: il boundary RP non e l'intera regione intermedia; e la parte della regione intermedia che sopravvive al doppio lettore e ai null.
tools/data/reports/agent_20260516_0820.md:42:- **Se fallisce**: se 0.045/0.060 non replicano con size maggiori o unfolding alternativo, il risultato diventa vincolo finito, non boundary fisico.
tools/data/reports/agent_20260516_0820.md:45:- **Script**: `tools/exp_rp_boundary_raw_count_null_audit.py`.
tools/data/reports/agent_20260516_0820.md:46:- **Run**: `python tools/exp_rp_boundary_raw_count_null_audit.py --out tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json`.
tools/data/reports/agent_20260516_0820.md:81:1. Verificato: `RP_lambda_0.045` passa su tutte le size con observed `12/12` ogni volta; il peggior p-value contro null e `0.000137`.
tools/data/reports/agent_20260516_0820.md:82:2. Verificato: `RP_lambda_0.060` passa su tutte le size; il punto debole e N=64 con `9/12`, label p=`0.017103`, min lift=`0.343750`, ancora sopra soglia.
tools/data/reports/agent_20260516_0820.md:83:3. Verificato: `RP_lambda_0.075` e intermittente; cade a N=96 con `8/12`, label p=`0.051823`, observed rate sotto `0.75`.
tools/data/reports/agent_20260516_0820.md:85:5. Inferito dal perimetro: la finestra operativa e stretta, centrata sul lato iniziale del crossover; la regione classica intermedia piu ampia non coincide con il boundary Lab.
tools/data/reports/agent_20260516_0820.md:90:Il contratto raw-count threshold trasferisce dal filtro operativo 07:20 a un sistema fisico controllato. Nel perimetro finito RP, `lambda=0.045` e `lambda=0.060` sono terzo incluso operativo: classically-intermediate, graph-stable, sopra soglia contro label-shuffle e position-shift, e size-stable su 64/96/128. `lambda=0.075` resta candidato intermittente, non riga all-size. Il boundary non e tutta la regione intermedia; e la finestra che sopporta il doppio lettore.
tools/data/reports/agent_20260516_0820.md:94:- **Singolare**: lambda row-aligned prima della parola boundary.
tools/data/reports/agent_20260516_0820.md:96:- **Campo di possibilita**: possibile = trasferire il gate su altri crossover fisici con count/null; non-possibile = chiamare boundary ogni riga Brody-intermediate.
tools/data/reports/agent_20260516_0820.md:99:Portare la stessa finestra `0.045-0.060` su un controllo piu duro: size maggiore o unfolding alternativo RP. Se regge, confrontare con Anderson 3D come rimbalzo fisico B; se cade, registrare `finite_RP_boundary_window` come vincolo, non come universalita.
tools/data/reports/agent_20260516_0820.md:102:ssp_value: yes. `tools/exp_rp_boundary_raw_count_null_audit.py` e uno strumento riusabile: prende un crossover fisico row-aligned, conta supporto osservato e null, e impedisce promozioni di boundary senza denominatori.
tools/data/reports/agent_20260516_0820.md:107:- `python -m py_compile tools/exp_rp_boundary_raw_count_null_audit.py` completato.
tools/data/reports/agent_20260516_0820.md:108:- `python tools/exp_rp_boundary_raw_count_null_audit.py --out tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json` completato.
tools/data/reports/agent_20260516_0820.md:114:- Script: `tools/exp_rp_boundary_raw_count_null_audit.py`
tools/data/reports/agent_20260516_0820.md:115:- Data: `tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json`
tools/data/reports/agent_20260507_0901.md:78:The next word is not `boundary_layer`. The correct category is:
tools/data/reports/agent_20260509_1457.md:8:**observable_contract**: claim=`V_c(phi)` converge a 1 come limite leggibile del canale ordinato; observable=relazione dei punti fit-ready con il bordo `V_c=1`; operator=`exp_vc_unit_boundary_audit.py` su deposito `vc_fit_model_gate_20260509_1400`; generator=`reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=13 righe ammissibili `complete/contaminated` del fit model gate, N={89,144,233,377}, soglie r={0.48,0.50,0.52}, livelli `per_mode_best` e `accepted_candidates`; non_possible=dichiarare convergenza a 1 dall'alto quando la curva osservata attraversa sotto 1 nel perimetro; not_tested=nuovi spettri, nuovi N, nuovi candidati, limite asintotico oltre la finestra osservata.
tools/data/reports/agent_20260509_1457.md:15:- **Operatori laterali scelti**: boundary operator, graph cut, fit come morfismo. Entrano per separare il bordo unitario dal modello numerico.
tools/data/reports/agent_20260509_1457.md:18:- **Possibile / non-possibile**: possibile = usare `V_c=1` come unit boundary audit; non-possibile = chiamarlo limite osservato quando 12/13 righe hanno punti sotto 1.
tools/data/reports/agent_20260509_1457.md:28:- Nuovo strumento: `tools/exp_vc_unit_boundary_audit.py`.
tools/data/reports/agent_20260509_1457.md:30:- Output: `tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:66:| accepted_candidates:order_memory:r0.48 | contaminated | 273/279 | 6 | 1.474 | 1.069 | all_above | blank |
tools/data/reports/agent_20260509_1457.md:67:| accepted_candidates:order_memory:r0.50 | contaminated | 278/279 | 1 | 1.350 | 0.899 | crosses_down | 332.733 |
tools/data/reports/agent_20260509_1457.md:68:| accepted_candidates:order_memory:r0.52 | complete | 279/279 | 0 | 1.236 | 0.781 | crosses_down | 272.895 |
tools/data/reports/agent_20260509_1457.md:78:| accepted_candidates:order_memory:r0.52 | 272.895 |
tools/data/reports/agent_20260509_1457.md:81:| accepted_candidates:order_memory:r0.50 | 332.733 |
tools/data/reports/agent_20260509_1457.md:86:3. **Verificato: l'unica riga all-above e' contaminata.** `accepted_candidates:order_memory:r0.48` resta sopra 1, ma ha 273/279 righe fit-ready e 6 righe escluse; non puo' sostenere da sola il claim hard.
tools/data/reports/agent_20260509_1457.md:97:`V_c=1` e' un unit boundary audit del sottografo fit-ready; non e' attrattore verificato della scala nel perimetro 14:00.
tools/data/reports/agent_20260509_1457.md:109:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1337.md`, report `agent_20260509_1400.md`, JSON `tools/data/vc_fit_model_gate_20260509_1400.json`, nuovo JSON `tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:116:- **L7 possibile/non-possibile**: possibile = unit boundary audit; non-possibile = convergenza a 1 dall'alto nel perimetro osservato.
tools/data/reports/agent_20260509_1457.md:120:- Verifica script: `python -m py_compile tools/exp_vc_unit_boundary_audit.py`.
tools/data/reports/agent_20260509_1457.md:121:- Run valido: `python tools/exp_vc_unit_boundary_audit.py --input tools/data/vc_fit_model_gate_20260509_1400.json --out tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:123:- Git state: worktree gia' sporco da cicli precedenti; questo cycle aggiunge solo lo script unit-boundary, il JSON 1457 e questo report.
tools/data/reports/agent_20260509_1457.md:126:- Script nuovo: `tools/exp_vc_unit_boundary_audit.py`
tools/data/reports/agent_20260509_1457.md:127:- Data: `tools/data/vc_unit_boundary_audit_20260509_1457.json`
tools/data/reports/agent_20260515_1712.md:14:- **Operatori laterali scelti**: boundary operator per separare warning e claim; graph cut per bloccare selettori freshness; spectrum-preserving style control come forma generale del null che conserva perimetro ma distrugge selezione.
tools/data/reports/agent_20260508_2013.md:7:observables_used: [boundary_distance, boundary_hit_le_2, zeckendorf_weight, zeckendorf_suffix_zeros]
tools/data/reports/agent_20260508_2013.md:8:**observable_contract**: claim=se il boundary esatto del supertile e' portatore globale del core alto, le posizioni IDS dei gap core devono mostrare migliore riconoscibilita Ostrowski o maggiore prossimita ai tagli nel mode aligned rispetto al same-length misaligned; observable=distanza del centro gap da boundary di chunk, hit entro 2 siti, peso Zeckendorf e zeri finali Zeckendorf; operator=Hamiltoniana tight-binding V=1, label IDS con reader theta=1/phi, centro round(IDS*N), boundary del tiling perturbato, rappresentazione Zeckendorf del centro; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}; not_tested=gap_ratio, domini GUE/Poisson reali, soglie 1.75/2.25, automa formale di riconoscibilita della sostituzione, generatori non-phi.
tools/data/reports/agent_20260508_2013.md:11:- **Combo**: A4 contratto della domanda + A9 terzo incluso + A11 combo + QxG continuo/discreto + TxQ matrice densita come lettore IDS + TRASCENDENZA_LIMITE sul passaggio fra boundary locale e riconoscibilita globale.
tools/data/reports/agent_20260508_2013.md:12:- **Dipolo / punto-zero**: boundary esatto del supertile . numerazione globale della posizione; punto-zero = il centro IDS del gap prima che venga letto come taglio fisico o come cifra Fibonacci.
tools/data/reports/agent_20260508_2013.md:14:- **Operatori laterali scelti**: boundary operator, indice, rappresentazione. Boundary operator misura il taglio; indice porta il gap nello spazio posizionale; rappresentazione Zeckendorf traduce il centro in cifre Fibonacci.
tools/data/reports/agent_20260508_2013.md:16:- **Proto-ipotesi**: se il core alto porta boundary globale, `supertile_shuffle` deve avere distanza da boundary minore o firma Zeckendorf diversa da `same_length_contiguous_shuffle`. Se resta equivalente, il boundary esatto non e' portatore rilevato neppure al piano Ostrowski.
tools/data/reports/agent_20260508_2013.md:17:- **Proiezione**: per ogni label core selezionato, mappo IDS -> centro circolare e misuro distanza dal boundary piu' vicino e cifre Zeckendorf del centro.
tools/data/reports/agent_20260508_2013.md:20:> Il boundary esatto del supertile, non rilevato localmente, emerge come riconoscibilita globale: high-core aligned deve battere high-core misaligned in distanza da boundary o firma Ostrowski/Zeckendorf.
tools/data/reports/agent_20260508_2013.md:23:Le posizioni IDS dei gap high-core `[3,-4,4,6]` si avvicinano ai boundary veri dei supertile o portano una firma Zeckendorf diversa quando il chunk e' aligned, oppure aligned e misaligned restano equivalenti anche sul piano globale?
tools/data/reports/agent_20260508_2013.md:31:  - `boundary_distance`: distanza circolare dal boundary piu' vicino.
tools/data/reports/agent_20260508_2013.md:32:  - `boundary_hit_le_2`: hit se distanza <= 2 siti.
tools/data/reports/agent_20260508_2013.md:40:| mode | group | rows | boundary hit <=2 | median boundary distance | median distance / min chunk | median Zeckendorf weight | median suffix zeros |
tools/data/reports/agent_20260508_2013.md:51:| mode | group | rows | boundary hit <=2 | median boundary distance | median distance / min chunk | median Zeckendorf weight | median suffix zeros |
tools/data/reports/agent_20260508_2013.md:78:3. **Verificato: low-core e' piu' vicino ai boundary ma non identifica il boundary esatto.** Nel main run low ha distanza mediana `1.0` per aligned e misaligned, con stesso hit `324/640`. Questo mostra un effetto di posizionamento dei label bassi, non una riconoscibilita del supertile aligned.
tools/data/reports/agent_20260508_2013.md:80:4. **Inferito dal perimetro: il boundary esatto non e' portatore osservato nemmeno nel gate Ostrowski.** Dopo label-set, IDS/rank, grammatica locale e ora boundary/Zeckendorf, il portatore rilevato resta ordine interno + lunghezze Fibonacci-like, non taglio esatto del supertile.
tools/data/reports/agent_20260508_2013.md:83:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, la riconoscibilita globale Ostrowski/Zeckendorf non identifica il boundary esatto del supertile. Il high-core aligned non batte il same-length misaligned in distanza da boundary (`14.0` vs `13.0` main; `14.0` vs `13.0` seedcheck), hit entro 2 siti (`175/566` vs `196/556` main; `195/563` vs `189/551` seedcheck) o peso Zeckendorf (`2.0` vs `2.0` in entrambi).
tools/data/reports/agent_20260508_2013.md:85:Formulazione valida: il core phi alto misura una chiusura congiunta di ordine interno e distribuzione di lunghezze Fibonacci-like. Nel ramo testato, non misura boundary esatto del supertile ne' firma Ostrowski delle posizioni IDS. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_2013.md:88:- **Due radici**: boundary globale del supertile . posizione numerata del gap.
tools/data/reports/agent_20260508_2013.md:90:- **Invariante di passaggio**: aligned e misaligned conservano la stessa firma globale del high-core quando ordine interno e lunghezze restano leggibili; distruggere l'ordine interno cambia il profilo ma non crea boundary aligned.
tools/data/reports/agent_20260508_2013.md:91:- **Campo di possibilita**: qui diventa possibile chiudere il ramo "boundary esatto" per i lettori testati e spostare il claim su ordine interno + scala. Qui diventa non-possibile salvare il boundary cambiando da finestra locale a numerazione Zeckendorf sullo stesso perimetro.
tools/data/reports/agent_20260508_2013.md:94:Il prossimo passaggio non deve cercare un quinto lettore del boundary esatto nello stesso ramo. Deve contrarre il claim e testare il contro-polo naturale: generatori non-phi o Sturmiani con altra pendenza. Se ordine interno + lunghezze Fibonacci-like e' il portatore, il core alto deve decadere o trasformarsi quando il reader theta=1/phi viene tenuto fisso ma il generatore non e' phi.
tools/data/reports/agent_20260508_2013.md:99:- **L3 no silent patching**: l'ipotesi "boundary globale emerge" cade; non viene salvata spostando il significato di boundary.
tools/data/reports/agent_20260508_2013.md:100:- **L4 edge cases**: low-core vicino ai boundary e order 8 misaligned superiore sono riportati come segnali, non rimossi.
tools/data/reports/agent_20260508_2013.md:101:- **L5 re-discovery guardrail**: Zeckendorf e gap-labeling sono baseline note. Il finding e' negativo sul boundary exact e positivo sulla contrazione del claim.
tools/data/reports/agent_20260509_0652.md:8:**observable_contract**: claim=un null che preserva il gap-label set Sturmian puo' decidere se `V_c` e' portato dal label-set o dall'ordine generativo; observable=`event_type={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`, `acceptance_rate`; operator=surrogate bilanciato con swap 0/1 e ricottura finche' `label_jaccard>=0.75`, poi curva `r(V)` su griglia 0.5..3.0 step 0.01; generator=phi Sturmian, balanced_random, swap_label_surrogate; denominator=run principale N={89}, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, random_trials=1, label_trials=2, swap_steps=3000, seed=202605090652; non_possible=se i surrogate accettati Jaccard>=0.75 producono floor-hit o internal_multi e restano con `r_floor`/`vc_interp` vicini al random, il label-set non basta a ricostruire il boundary Sturmian; not_tested=GUE/Poisson reali, silver/bronze, fit power-law, gap_ratio, prova a N>=144 con gate raggiunto.
tools/data/reports/agent_20260509_0652.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + TxQ matrice densita come lettore spettrale + topologia assiomatica del boundary operator + tensione `TRASCENDENZA_LIMITE` proiettata sul null `V_c`.
tools/data/reports/agent_20260509_0652.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, swap-constrained surrogate. Il boundary operator separa crossing unico e multiplo; la filtrazione scorre `V`; lo swap mantiene la marginale e tenta di conservare il label-set senza copiare l'ordine Sturmian.
tools/data/reports/agent_20260509_0652.md:19:- **Proto-ipotesi**: se il label-set e' portatore sufficiente del boundary, allora un surrogate swap con Jaccard>=0.75 deve produrre crossing interno unico e `r_floor`/`vc_interp` nella zona Sturmian. Se produce internal_multi o floor_hit con valori vicini al random, il portatore e' ordine generativo oltre al label-set.
tools/data/reports/agent_20260509_0652.md:23:> Nel perimetro Sturmian-Harper N=89, preservare il gap-label set con Jaccard>=0.75 basta a ricostruire la forma `V_c` del boundary phi.
tools/data/reports/agent_20260509_0652.md:81:5. **Inferito dal confronto accettati/random/Sturmian: il label-set e' lettore, non portatore sufficiente.** Conservare una parte alta del label-set non preserva il trasporto d'ordine che rende il boundary una curva interna unica.
tools/data/reports/agent_20260509_0652.md:84:**FALSIFIED, scoped**: nel perimetro `N=89`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, preservare il gap-label set con Jaccard>=0.75 non basta a ricostruire la forma Sturmian del `V_c`. Il portatore del boundary non e' il label-set isolato: serve ordine generativo.
tools/data/reports/agent_20260509_0652.md:92:- **Campo di possibilita**: qui diventa possibile usare surrogate accettati per separare lettore e generatore; qui diventa non-possibile trattare il gap-label set come causa sufficiente del boundary `V_c`.
tools/data/reports/agent_20260509_0652.md:95:Il prossimo passaggio non e' estendere a GUE/Poisson. Prima serve un generatore label-preserving stabile cross-phase: stessa accettazione Jaccard su N={89,144,233} oppure fallimento dichiarato come vincolo del null. Solo dopo il boundary operator puo' trasferire verso domini GUE/Poisson.
tools/data/reports/agent_20260514_1850.md:59:- **Contro-perimetro**: non e' dato sperimentale, non e' limite termodinamico, non e' unfolding dedicato, non misura many-body localization.
tools/data/reports/agent_20260514_1850.md:65:| Anderson 3D W4 metallic candidate | 768 | SR,L1,triple_var | 0.538429 / 0.383960 / +0.154470 | 0.000122 | +3.657 | -0.224752 | 0.000122 | -2.236 | -2.327689 | 0.000122 | -3.494 |
tools/data/reports/agent_20260514_1850.md:66:| Anderson 3D W16.5 critical boundary | 768 | SR,L1,triple_var | 0.509807 / 0.386906 / +0.122901 | 0.000122 | +2.741 | -0.142338 | 0.000122 | -0.945 | -1.969355 | 0.000122 | -2.504 |
tools/data/reports/agent_20260514_1850.md:80:- **Non verificato**: transizione Anderson 3D, limite `L -> inf`, spettro sperimentale, unfolding dedicato.
tools/data/reports/agent_20260514_1850.md:86:- `candidate`: Anderson 3D puo' diventare prossimo seme solo come audit di taglia/unfolding, non come legge.
tools/data/reports/agent_20260514_1850.md:117:- **Campo di possibilita**: possibile usare il tester come interfaccia spettrale riusabile; non-possibile promuovere la separazione 3D senza curva in `L` e unfolding.
tools/data/reports/agent_20260514_1850.md:121:Il prossimo seme possibile non e' "Anderson 3D confermato". E' un audit del tool su fisico B con taglie multiple e denominatore dichiarato: `L=5,6,7` o unfolding locale, stesso contract, stesso null. Se `SR,L1` restano non_separated e `triple_var` resta separated, il tool mostra che il bordo 3D entra prima nella componente di profondita' che nel piano pair-statistics.
tools/data/reports/agent_20260514_1850.md:127:- **Puo' diventare prossimo seme**: audit Anderson 3D multi-size/unfolding solo se formulato come verifica del tool, non come legge fisica.
tools/data/reports/agent_20260506_0625.md:57:5. **Poisson and shuffled-prime controls show multi-axis artifacts.** Poisson has rank 1.917/2.201 depending on observable set; prime shuffle control has rank 2.294/1.988. Multi-dimensional perturbation response by itself is not evidence of structured GUE-like boundary. It can arise from low structural signal plus noisy denominators in retention normalization.
tools/data/reports/agent_20260506_0625.md:64:The boundary is still operator-dependent, but perturbation dimensionality is not yet a stable domain invariant. The next valid test is not another single GUE matrix; it is a replicate-and-size curve for effective rank vs number of spacings, with observable definitions versioned.
tools/data/reports/agent_20260405_0919.md:44:3. **The crossover is NOT a phase transition**: there is no sharp boundary between GUE and Poisson regimes. The Brody beta decays smoothly and linearly in ln(p). The "boundary" is the entire range.
tools/data/reports/agent_20260405_0919.md:58:The "third included" at the GUE/Poisson boundary is not a point — it's a **crossover function**. The primes' level repulsion parameter decays as 0.606 - 0.020*ln(p), bridging two universality classes without belonging to either. This is structurally consistent with:
tools/data/reports/agent_20260405_0919.md:59:- The D-ND framework: the boundary between two poles (GUE/Poisson) carries its own structure
tools/data/reports/agent_20260513_0330.md:8:**observable_contract**: claim=`SR` e prime-specific solo se resta piu comune/forte nelle finestre prime dopo sottrazione di candidati `6k +/- 1` row-local; observable=`SR` e firma `[SR,L1,triple_var]` in `coherent_one_sided_observables` + delta z paired; operator=`exp_prime_vs_mod6_sr_boundary.py`; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, mod6 da `index_aligned` e `span_matched`; denominator=8 finestre prime paired con 8 mod6_index_aligned e 8 mod6_span_matched; non_possible=prime-specific SR se SR e comune o pari nel contro-perimetro mod6, oppure se il label-swap row-local assorbe i delta; not_tested=`V_c`, `gap_ratio`, beta atlas globale, origine analitica del trasferimento mod6.
tools/data/reports/agent_20260513_0330.md:16:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY + consecutio `prime_vs_mod6_SR_boundary`.
tools/data/reports/agent_20260513_0330.md:25:- **KSAR / CE-0001**: usato come reiterazione del kernel del ciclo precedente: non allargare i controlli, ripetere il gate sul nodo regressivo `mod6_candidates`.
tools/data/reports/agent_20260513_0330.md:32:- `why`: esegue esattamente `prime_vs_mod6_SR_boundary`, con denominatore row-local e shuffle audit label-preserving sul confronto prime/mod6.
tools/data/reports/agent_20260513_0330.md:93:`SR` appartiene al pre-bordo aritmetico `6k +/- 1`; la selezione prime resta come gradiente di intensita row-local rispetto a mod6. Il boundary operativo e quindi `mod6_preboundary -> prime_selection`, non `prime -> generic_nonprime`.
tools/data/reports/agent_20260513_0330.md:116:ssp_value: yes. `tools/exp_prime_vs_mod6_sr_boundary.py` e uno strumento riusabile per audit row-local prime/mod6 con label-swap null.
tools/data/reports/agent_20260513_0330.md:120:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260513_0330.md:121:- Data: `tools/data/prime_vs_mod6_sr_boundary_20260513_0330.json`
tools/data/reports/agent_20260513_0330.md:122:- Seed check: `tools/data/prime_vs_mod6_sr_boundary_20260513_0330_seedcheck.json`
tools/data/reports/agent_20260405_0825.md:50:- Script: `tools/exp_boundary_gue_poisson.py`
tools/data/reports/agent_20260405_0825.md:51:- Risultati JSON: `tools/data/reports/exp_boundary_20260405_0825.json`
tools/data/reports/agent_20260406_0714.md:12:If their residuals (after removing ln(p) dependence) correlate, they measure the same boundary.
tools/data/reports/agent_20260406_0714.md:71:5. **The boundary is not "the third included" — it's a cascade.** Structure peels off in layers as scale increases. The anti-correlation (nearest-neighbor repulsion) dies first; the global repulsion statistics (<r>) persist longest.
tools/data/reports/agent_20260509_1427.md:7:observables_used: [`spacing_r`, `shuffle_r_statistic`, `denominator_state`, `excluded_mass`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1427.md:8:**observable_contract**: claim=il blank-pair test decide se due righe BOUNDARY senza null entrano nel transfer; observable=`spacing_r` originale contro permutation null row-aligned; operator=`exp_boundary_blank_null_audit.py` + prescan row-aligned; generator=`dnd_autoricerca.genera_segnale` per `zeta_zeros` e `pendolo_doppio`; denominator=13 righe base autoricerca 8 GUE-like / 5 Poisson-like; non_possible=dichiarare complete `zeta_zeros` con soli 199 gap o dichiarare cambio classe su `pendolo_doppio`; not_tested=fit `V_c`, nuovi spettri, nuova legge GUE/Poisson, chiusura QxG.
tools/data/reports/agent_20260509_1427.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo non classifica GUE o Poisson; filtra quali righe hanno denominatore sufficiente.
tools/data/reports/agent_20260509_1427.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, grafo row-aligned. Entrano per separare osservabile locale, null e transfer senza nuovo fit.
tools/data/reports/agent_20260509_1427.md:19:- **Proiezione**: verificare `boundary_blank_null_audit_20260509_1430.json` e reinnestarlo nel prescan `boundary_denominator_prescan_20260509_1430.json`.
tools/data/reports/agent_20260509_1427.md:28:- Strumenti usati: `tools/exp_boundary_blank_null_audit.py` e `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1427.md:29:- Input verificati: `tools/data/boundary_blank_null_audit_20260509_1430.json` e `tools/data/boundary_denominator_prescan_20260509_1430.json`.
tools/data/reports/agent_20260509_1427.md:83:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `tools/data/boundary_blank_null_audit_20260509_1430.json`, `tools/data/boundary_denominator_prescan_20260509_1430.json`, run di verifica in `/tmp`.
tools/data/reports/agent_20260509_1427.md:94:- Verifica script: `python -m py_compile tools/exp_boundary_blank_null_audit.py tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1427.md:95:- Run valido: `python tools/exp_boundary_blank_null_audit.py --domains zeta_zeros pendolo_doppio --n-shuffle 1000 --seed 202605091430 --out /tmp/boundary_blank_null_audit_20260509_1430.verify.json`.
tools/data/reports/agent_20260509_1427.md:96:- Run valido: `python tools/exp_boundary_denominator_prescan.py --extra-null-audit tools/data/boundary_blank_null_audit_20260509_1430.json --out /tmp/boundary_denominator_prescan_20260509_1430.verify.json`.
tools/data/reports/agent_20260509_1427.md:100:- Script: `tools/exp_boundary_blank_null_audit.py`
tools/data/reports/agent_20260509_1427.md:101:- Script: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1427.md:102:- Data: `tools/data/boundary_blank_null_audit_20260509_1430.json`
tools/data/reports/agent_20260509_1427.md:103:- Data: `tools/data/boundary_denominator_prescan_20260509_1430.json`
tools/data/reports/agent_20260512_0330.md:5:**verdict**: CONSTRAINT - `prime_SR_persistent_boundary` non chiude come firma prime-specific atomica  
tools/data/reports/agent_20260512_0330.md:8:**observable_contract**: claim=`prime_SR_persistent_boundary` regge solo se le finestre prime conservano `SR` come osservabile one-sided comune attraverso provider e offset, mentre controlli non-prime ampliati non condividono persistenza SR piena; observable=`SR` in `coherent_one_sided_observables` + firma comune one-sided; operator=`exp_prime_sr_persistent_boundary.py`; generator=primi via `row_spacings("numeri_primi")` e `prime_gap_sequence`, controlli via composite gaps, candidati mod6, eventi Cramer-like, GUE blocks, logistic return intervals; denominator=8 finestre prime row-local + 20 controlli non-prime; non_possible=claim prime-specific se `SR` prime scende sotto 8/8, se la firma comune prime non e' `[SR]`, o se una sottofamiglia controllo condivide persistenza SR piena; not_tested=atlante beta globale, `V_c`, `gap_ratio`, origine analitica di SR.
tools/data/reports/agent_20260512_0330.md:12:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY come passaggio 8 GUE / 5 Poisson + residuo `prime_SR_persistent_boundary`.
tools/data/reports/agent_20260512_0330.md:15:- **Operatori laterali scelti**: boundary operator, generatori non equivalenti, null label-preserving row-local. Entrano per separare supporto osservabile, carta beta e dominio sorgente.
tools/data/reports/agent_20260512_0330.md:23:- `why`: testa direttamente la direzione viva `prime_SR_persistent_boundary`, separando supporto osservabile `SR` da blank beta e ampliando i controlli non-prime.
tools/data/reports/agent_20260512_0330.md:37:- Controlli: composite gaps, mod6 candidates, Cramer-like events su 4 offset; 4 GUE random matrix blocks; 4 logistic return interval rows.
tools/data/reports/agent_20260512_0330.md:54:| mod6_candidates | 4 | 2 | [] | 0 | 3 | 1 | 3.440 |
tools/data/reports/agent_20260512_0330.md:63:| mod6_candidates | 4 | 4 | L1,SR,triple_var | 0 | 3 | 1 | 4.077 |
tools/data/reports/agent_20260512_0330.md:83:4. **Verificato**: `mod6_candidates` collide nel seed check con `SR=4/4` e common `[L1, SR, triple_var]`. Questo sposta `SR` dal dominio prime al pre-bordo aritmetico `6k +/- 1` nel perimetro testato.
tools/data/reports/agent_20260512_0330.md:92:`prime_SR_persistent_boundary` come firma atomica prime-specific.
tools/data/reports/agent_20260512_0330.md:96:`SR` e' forte nei primi ma non persistente come comune 8/8; quando il contro-perimetro include candidati `6k +/- 1`, `SR` puo' trasferire fuori dai primi. Il boundary non vive tra prime e non-prime generico; vive tra primi e pre-bordo aritmetico.
tools/data/reports/agent_20260512_0330.md:103:- **Campo di possibilita'**: possibile = testare il boundary come selezione prime dentro il pre-bordo `6k +/- 1`; non-possibile = usare `SR` da solo come firma prime-specific.
tools/data/reports/agent_20260512_0330.md:111:ssp_value: yes. `tools/exp_prime_sr_persistent_boundary.py` diventa audit riusabile per distinguere persistenza osservabile, specificita' di dominio e collisione col pre-bordo aritmetico.
tools/data/reports/agent_20260512_0330.md:115:- Script: `tools/exp_prime_sr_persistent_boundary.py`
tools/data/reports/agent_20260512_0330.md:116:- Data: `tools/data/prime_sr_persistent_boundary_20260512_0330.json`
tools/data/reports/agent_20260512_0330.md:117:- Seed check: `tools/data/prime_sr_persistent_boundary_20260512_0330_seedcheck.json`
tools/exp_gap_label_ostrowski_recognizability_gate.py:92:def boundary_distance(center: int, n: int, boundaries: list[int]) -> tuple[int, int]:
tools/exp_gap_label_ostrowski_recognizability_gate.py:111:        distance, nearest = boundary_distance(center, n, boundaries)
tools/exp_gap_label_ostrowski_recognizability_gate.py:124:            "nearest_boundary": nearest,
tools/exp_gap_label_ostrowski_recognizability_gate.py:125:            "boundary_distance": distance,
tools/exp_gap_label_ostrowski_recognizability_gate.py:126:            "boundary_distance_over_N": float(distance / n),
tools/exp_gap_label_ostrowski_recognizability_gate.py:127:            "boundary_distance_over_min_chunk": float(distance / local_scale),
tools/exp_gap_label_ostrowski_recognizability_gate.py:128:            "boundary_hit_le_2": bool(distance <= 2),
tools/exp_gap_label_ostrowski_recognizability_gate.py:139:        "boundary_hit_le_2_count": int(sum(r["boundary_hit_le_2"] for r in rows)),
tools/exp_gap_label_ostrowski_recognizability_gate.py:140:        "boundary_hit_le_2_rate": float(sum(r["boundary_hit_le_2"] for r in rows) / len(rows)),
tools/exp_gap_label_ostrowski_recognizability_gate.py:141:        "median_boundary_distance": float(np.median([r["boundary_distance"] for r in rows])),
tools/exp_gap_label_ostrowski_recognizability_gate.py:142:        "median_boundary_distance_over_N": float(np.median([r["boundary_distance_over_N"] for r in rows])),
tools/exp_gap_label_ostrowski_recognizability_gate.py:143:        "median_boundary_distance_over_min_chunk": float(np.median([r["boundary_distance_over_min_chunk"] for r in rows])),
tools/exp_gap_label_ostrowski_recognizability_gate.py:231:            "hit_le_2": f"{data.get('boundary_hit_le_2_count')}/{data['rows']}",
tools/exp_gap_label_ostrowski_recognizability_gate.py:232:            "median_dist": data["median_boundary_distance"],
tools/exp_gap_label_ostrowski_recognizability_gate.py:233:            "median_dist_over_min_chunk": data["median_boundary_distance_over_min_chunk"],
tools/data/reports/agent_20260509_1538.md:8:**observable_contract**: claim=le righe non-esatte della matrice BOUNDARY 15:32 vanno lette row-aligned senza usare label GUE/Poisson; observable=stato beta + forza supporto + telemetria denominatore/null; operator=`exp_boundary_row_aligned_nonexact_audit.py`; generator=matrice `boundary_two_axis_matrix_20260509_1532` + prescan `boundary_denominator_prescan_full_20260509_1500`; denominator=13 righe totali, 11 support-transfer, 7 support-transfer non esatte; non_possible=forzare il conteggio a 6 o trattare beta 0.3 come ascissa comune; not_tested=nuovi domini, nuovi null, nuova griglia beta, fit `V_c`.
tools/data/reports/agent_20260509_1538.md:14:- **Piano superiore**: boundary operator su matrice row-aligned. Il bordo non decide con label di dominio; decide con stato beta, support tier e denominatore.
tools/data/reports/agent_20260509_1538.md:15:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, coordinate chart. Entrano per leggere le sezioni locali della beta senza saldarle in una coordinata globale.
tools/data/reports/agent_20260509_1538.md:33:- Nuovo strumento: `tools/exp_boundary_row_aligned_nonexact_audit.py`.
tools/data/reports/agent_20260509_1538.md:34:- Input 1: `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1538.md:35:- Input 2: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1538.md:36:- Output: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:118:Il prossimo ciclo non deve ripetere la matrice. Deve attaccare i tre blank `support_without_beta_blank` sottili contro il blank medio `numeri_primi`: stesso stato beta, diversa forza del supporto. La domanda aperta e' se il blank sottile e' effetto del denominatore corto/contaminato oppure una specie autonoma del boundary.
tools/data/reports/agent_20260509_1538.md:121:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1532.md`, JSON `boundary_two_axis_matrix_20260509_1532.json`, JSON `boundary_denominator_prescan_full_20260509_1500.json`, script `tools/exp_boundary_row_aligned_nonexact_audit.py`, output `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:132:- Verifica script: `python -m py_compile tools/exp_boundary_row_aligned_nonexact_audit.py`.
tools/data/reports/agent_20260509_1538.md:133:- Run valido: `python tools/exp_boundary_row_aligned_nonexact_audit.py --matrix tools/data/boundary_two_axis_matrix_20260509_1532.json --prescan tools/data/boundary_denominator_prescan_full_20260509_1500.json --out tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:138:- Script nuovo: `tools/exp_boundary_row_aligned_nonexact_audit.py`
tools/data/reports/agent_20260509_1538.md:139:- Data: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`
tools/exp_rosenzweig_porter_bridge_physical_audit.py:3:Rosenzweig-Porter physical bridge audit for the live BOUNDARY direction.
tools/exp_rosenzweig_porter_bridge_physical_audit.py:148:    return "flow_candidate"
tools/exp_rosenzweig_porter_bridge_physical_audit.py:159:        "domain_window": f"RP_lambda_{lam:.3f}",
tools/exp_rosenzweig_porter_bridge_physical_audit.py:223:            elif labels[i] == "flow_candidate" and labels[other] in {"Poisson_pole", "GUE_pole"}:
tools/exp_rosenzweig_porter_bridge_physical_audit.py:227:        if row["source_domain_type"] == "flow_candidate" and cross_fraction > 0 and margin < 0.35:
tools/exp_rosenzweig_porter_bridge_physical_audit.py:228:            state = "third_included_candidate"
tools/exp_rosenzweig_porter_bridge_physical_audit.py:239:                "boundary_state": state,
tools/exp_rosenzweig_porter_bridge_physical_audit.py:242:    return {"k": k, "rows": graph_rows, "third_included_candidates": [r["domain_window"] for r in graph_rows if r["boundary_state"] == "third_included_candidate"]}
tools/exp_rosenzweig_porter_bridge_physical_audit.py:277:            reader_runs.append({"seed": seed, "k": k, "third_included_candidates": graph["third_included_candidates"]})
tools/exp_rosenzweig_porter_bridge_physical_audit.py:294:                if grow["boundary_state"] == "third_included_candidate":
tools/exp_rosenzweig_porter_bridge_physical_audit.py:352:        "question": "Does the two-reader BOUNDARY gate survive on a controlled Rosenzweig-Porter flow?",
tools/exp_rosenzweig_porter_bridge_physical_audit.py:376:            "operator": "Rosenzweig-Porter diagonal-plus-GUE Hamiltonian flow with kNN graph perturbation",
tools/exp_rosenzweig_porter_bridge_physical_audit.py:379:            "non_possible": "Lab-specific graph-only boundary if every stable graph bridge is classically intermediate, or physical boundary claim if classical-only rows dominate",
tools/exp_rosenzweig_porter_bridge_physical_audit.py:380:            "not_tested": "asymptotic RP universality, unfolding alternatives, experimental spectra, many-body localization",
tools/exp_rosenzweig_porter_bridge_physical_audit.py:384:            "two_reader_boundary_confirmed": len(two_reader_confirmed),
tools/data/reports/agent_20260514_1612.md:8:**observable_contract**: claim=il cedimento selettivo di `SR` puo' essere formulato come test fisico A->B; observable=componenti canoniche attive/assorbite contro null Poisson span-matched; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GUE hermitiano e Hamiltoniano Anderson 1D tight-binding; denominator=48 repliche per dominio, 95 gap centrali per spettro; non_possible=rimbalzo fisico assente se non si nomina B concreto oppure se `SR` non discrimina GUE da Anderson localizzato; not_tested=dati sperimentali reali, unfolding fine, classi di simmetria GOE/GSE, many-body localization.
tools/data/reports/agent_20260514_1612.md:73:4. **Inferito dal perimetro**: il deposito prime-minus-mod6 produce un osservabile fisico formulabile: non "i primi sono fisica", ma "la componente `SR` boundary-sensitive corrisponde al test di repulsione spettrale contro Poisson".
tools/data/reports/agent_20260514_1612.md:92:Il prossimo ciclo fisico deve sostituire il proxy sintetico con un denominatore piu vicino al laboratorio: GOE/GUE scelto per simmetria dichiarata, Anderson 3D o many-body localization se si vuole una transizione fisica vera, unfolding controllato e confronto con dati o letteratura. Il deposito prime-minus-mod6 resta utile solo come generatore di osservabili, non come prova del dominio fisico.
tools/exp_markov_scale_function.py:6:If so, does the decay track the GUE→Poisson boundary?
tools/data/reports/agent_20260515_1855.md:7:**observable_contract**: claim=il confine GUE/Poisson e' operativo quando la geometria row-aligned produce nodi cross-label a margine basso; observable=kNN graph position, cross-neighbor fraction, centroid margin, unweighted Forman edge curvature; operator=grafo kNN nello spazio canonical+rigidity+shuffle-z; generator=dnd_autoricerca row_spacings via semireal boundary transfer gate; denominator=13 righe base BOUNDARY, 8 GUE e 5 Poisson; non_possible=terzo incluso se non compaiono edge cross-label o se tutti gli edge cross-label restano interni ad alta margin; not_tested=V_c, denominatori Sturmian, origine analitica delle label.
tools/data/reports/agent_20260515_1855.md:12:- **Piano superiore**: grafo della conoscenza con curvatura su edge; il boundary e' un nodo/ponte prima di essere classe.
tools/data/reports/agent_20260515_1855.md:15:- **Proto-ipotesi**: il boundary non coincide con una beta locale o con una label. Esiste come riga a bassa distanza dai centroidi e con vicini dell'altro polo.
tools/data/reports/agent_20260515_1855.md:16:- **Proiezione**: se il terzo incluso e' operativo, il grafo kNN delle 13 righe deve produrre edge GUE/Poisson e almeno una riga a margine basso; se il boundary e' solo tassonomia, il grafo resta in due componenti o attraversa solo con margin alta.
tools/data/reports/agent_20260515_1855.md:34:- **Osservabile/test fisico possibile**: su finestre energetiche sperimentali, costruire lo stesso grafo con spacing ratio, rigidita' locale e shuffle-z; boundary se compaiono nodi cross-regime a margine basso.
tools/data/reports/agent_20260515_1855.md:35:- **Se fallisce**: ritorno_fisico_assente se l'effetto sparisce con piu' campioni, con unfolding alternativo o con labels sperimentali indipendenti.
tools/data/reports/agent_20260515_1855.md:39:- **Scope**: `boundary_denominator_prescan_full_20260509_1500.json`, righe base BOUNDARY con `source_domain_type in {GUE, Poisson}`.
tools/data/reports/agent_20260515_1855.md:55:| third-included candidates | 4 |
tools/data/reports/agent_20260515_1855.md:59:| numeri_primi:cycle_3 | GUE | 0.223 | 0.250 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:60:| percolation:cycle_9 | Poisson | 0.089 | 1.000 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:61:| reaction_diffusion:cycle_11 | GUE | 0.115 | 0.750 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:62:| logistica_biforcazione_var_3.5699:cycle_13 | GUE | 0.217 | 0.250 | third_included_candidate |
tools/data/reports/agent_20260515_1855.md:78:Il boundary trasferisce come geometria di righe ponte nel perimetro 8/5. Non trasferisce come singolo scalare di curvatura e non autorizza una tassonomia pulita GUE vs Poisson.
tools/data/reports/agent_20260515_1855.md:84:- **Campo di possibilita**: qui diventa possibile cercare il boundary come nodo ponte in spettri fisici finiti; qui diventa non-possibile usare la curvatura media o la label sola come terzo incluso.
tools/data/reports/agent_20260515_1855.md:87:- Script: `tools/exp_boundary_graph_curvature_gate.py`
tools/data/reports/agent_20260515_1855.md:88:- Data: `tools/data/boundary_graph_curvature_gate_20260515_1855.json`
tools/data/reports/agent_20260507_0803.md:12:GUE/Poisson boundary is a transferable operator or only a local metric.
tools/data/reports/agent_20260507_0803.md:116:> GUE/Poisson boundary layer is not transferable: ambiguity appears near beta
tools/data/reports/agent_20260515_1826.md:15:- **Operatori laterali scelti**: rappresentazione, autovalore, boundary operator.
tools/data/reports/agent_20260515_1826.md:32:Il boundary a V=2 legge una specificita phi nascosta dai box comuni, oppure legge una classe piu larga di parole Sturmian binarie?
tools/data/reports/agent_20260515_1826.md:84:La formulazione valida e': a V=2 il boundary dei generatori binari resta un corridoio Sturmian. L'allineamento ai denominatori propri rimuove il dubbio piu vicino del ciclo 18:16, ma non autorizza un claim phi-specific. Phi resta un rappresentante stabile della classe, non il generatore unico del confine.
tools/data/reports/agent_20260515_1826.md:91:- **Campo di possibilita**: possibile = progettare test fisici denominator-aligned su famiglie Sturmian; non-possibile = promuovere phi come boundary autonomo nel perimetro V=2, N<=500.
tools/data/reports/agent_20260424_0330.md:54:The BOUNDARY claim must be refined: the 8 GUE domains are not homogeneous. Two distinct mechanisms generate GUE statistics. The boundary between GUE and Poisson has two layers: distribution-level and ordering-level. The sign of delta_r = r_original - r_shuffled discriminates which layer operates.
tools/data/reports/agent_20260424_0330.md:67:- Script: `tools/exp_boundary_shuffle_audit.py`
tools/data/reports/agent_20260424_0330.md:68:- Data: `tools/data/boundary_shuffle_audit.json`
tools/lab_preflight_agent.py:249:            "candidate_count": graph_summary.get("candidate_count"),
tools/lab_preflight_agent.py:270:    candidates: list[dict[str, Any]] = []
tools/lab_preflight_agent.py:277:            candidates.append(signals)
tools/lab_preflight_agent.py:278:    if not candidates:
tools/lab_preflight_agent.py:280:    return sorted(candidates, key=lambda item: cycle_dt(item["cycle"]))[-1]
tools/lab_preflight_agent.py:363:            "candidate",
tools/data/reports/agent_20260508_2005.md:8:**observable_contract**: claim=se il boundary simbolico del core alto esiste nella grammatica nativa della parola, le finestre locali attorno alle posizioni IDS dei gap core devono separare aligned supertile da misaligned same-length; observable=eccesso grammaticale locale rispetto a baseline Sturmian classica; operator=estrazione finestra circolare attorno a round(IDS*N) per ogni label core selezionato, misura p(k)<=k+1, right-special<=1, return-word excess sopra 2, difetto palindromico; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}, window={89 main, 55 seedcheck}, k={3,4,5,6,7,8}; not_tested=gap_ratio, domini GUE/Poisson reali, soglie 1.75/2.25, prova formale della grammatica Sturmian, generatori non-phi.
tools/data/reports/agent_20260508_2005.md:12:- **Dipolo / punto-zero**: boundary di chunk . grammatica locale della parola; punto-zero = la finestra attorno al gap prima che venga letta come taglio geometrico o come fattore simbolico.
tools/data/reports/agent_20260508_2005.md:14:- **Operatori laterali scelti**: boundary operator, fattori speciali, difetto palindromico. Entrano perche' il ciclo 19:47 ha falsificato set/IDS/rank come lettori del boundary esatto; il prossimo lettore deve essere nativo della parola.
tools/data/reports/agent_20260508_2005.md:16:- **Proto-ipotesi**: se il core alto porta boundary simbolico, `supertile_shuffle` deve mostrare finestre ad eccesso grammaticale zero piu' stabilmente di `same_length_contiguous_shuffle`. Se i due restano entrambi baseline-Sturmian, il boundary esatto non e' il portatore osservato; la frattura resta l'ordine interno.
tools/data/reports/agent_20260508_2005.md:20:> La grammatica simbolica locale dei gap core separa aligned supertile da misaligned same-length. Il portatore del core alto e' il boundary nativo della parola, non solo l'ordine interno.
tools/data/reports/agent_20260508_2005.md:89:4. **Inferito dal perimetro: il portatore osservato resta ordine interno locale, non boundary esatto.** Il controllo misaligned same-length conserva grammatica Sturmian locale almeno quanto l'allineato. Il boundary di supertile non compare come vantaggio in complessita, right-special, return-word excess o difetto palindromico.
tools/data/reports/agent_20260508_2005.md:91:5. **Correzione regressiva del report 19:47:** il linguaggio valido non e' "non-possibile cercare il boundary"; e': in questo perimetro, label-set, IDS/rank/errore e grammatica locale non separano aligned da misaligned. Il boundary resta non rilevato da questi osservabili.
tools/data/reports/agent_20260508_2005.md:94:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, la grammatica simbolica locale attorno ai gap core non identifica il boundary esatto del supertile. `supertile_shuffle` e `same_length_contiguous_shuffle` hanno mediana `grammar_excess_total=0` e zero-excess alto; il controllo misaligned e' piu' baseline-Sturmian dell'allineato nel rate aggregato high (`576/591` vs `503/564`, replica `583/590` vs `536/566` con window 55). La frattura strutturale resta la distruzione dell'ordine interno: `same_count_internal_shuffle` produce zero-excess `0` e eccessi mediani non-zero su tutti i canali.
tools/data/reports/agent_20260508_2005.md:96:Formulazione valida: il core phi alto misura una chiusura congiunta di ordine interno locale e lunghezze Fibonacci-like; non misura boundary esatto del supertile nei lettori testati. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_2005.md:99:- **Due radici**: grammatica locale Sturmian . boundary esatto del supertile.
tools/data/reports/agent_20260508_2005.md:102:- **Campo di possibilita**: qui diventa possibile chiudere il ramo boundary locale per questo perimetro e spostare il test sul livello globale del generatore. Qui resta aperto un test diverso: non finestre attorno ai gap, ma automa/ostrowski numeration o riconoscibilita globale della sostituzione.
tools/data/reports/agent_20260508_2005.md:105:Il prossimo passaggio non deve aggiungere un altro lettore locale. Deve testare il piano globale: se il boundary esatto esiste come portatore, deve comparire nella riconoscibilita della sostituzione o nella numerazione di Ostrowski dei gap selezionati. Se anche li' aligned e misaligned restano equivalenti, il claim va contratto definitivamente a "ordine interno locale + lunghezze Fibonacci-like".
tools/data/reports/agent_20260508_2005.md:110:- **L3 no silent patching**: l'ipotesi boundary simbolico cade in questo gate; non viene salvata cambiando osservabile nel verdict.
tools/data/reports/agent_20260508_2005.md:112:- **L5 re-discovery guardrail**: le proprieta Sturmian sono baseline dichiarata. Il finding e' negativo sul boundary e positivo sulla rottura internal-shuffle, non sulla riscoperta di complessita Sturmian.
tools/data/reports/agent_20260509_1337.md:8:**observable_contract**: claim=`fit(V_c)` e' ammesso solo quando il denominatore e' fit-ready; observable=stato strutturale del denominatore e curva `vc_median_fit_ready`; operator=lettura del deposito 08:46 con separazione `complete/contaminated/broken/absent`; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_generator_class_direction_audit_20260509_0846`, livelli separati `per_mode_best` e `accepted_candidates`, soglie `r={0.48,0.50,0.52}`, N={89,144,233,377}; non_possible=righe `no_cross` e `floor_hit` non entrano nel fit e restano massa esclusa; not_tested=nuovi spettri, nuovi N, nuovi generatori, gap_ratio, power-law non lineare.
tools/data/reports/agent_20260509_1337.md:15:- **Operatori laterali scelti**: boundary operator, graph cut, filtrazione. Entrano per tagliare il deposito in stati strutturali prima del fit.
tools/data/reports/agent_20260509_1337.md:61:Soglia `r=0.50`, livello `accepted_candidates`:
tools/data/reports/agent_20260509_1437.md:7:observables_used: [`spacing_r`, `shuffle_r_statistic`, `denominator_state`, `excluded_mass`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1437.md:8:**observable_contract**: claim=il residual blank test decide se i 3 blank residui BOUNDARY entrano nel transfer; observable=`spacing_r` originale contro permutation null row-aligned; operator=`exp_boundary_blank_null_audit.py` + `exp_boundary_denominator_prescan.py`; generator=`dnd_autoricerca.genera_segnale` per `string_vibration`, `reaction_diffusion`, `logistica_biforcazione_var_3.5699`; denominator=13 righe base autoricerca 8 GUE-like / 5 Poisson-like; non_possible=dichiarare chiusura QxG, nuova legge GUE/Poisson, o complete `reaction_diffusion` con 499 gap; not_tested=fit `V_c`, nuovi spettri, nuovi domini.
tools/data/reports/agent_20260509_1437.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il gate decide copertura del denominatore, non ontologia GUE/Poisson.
tools/data/reports/agent_20260509_1437.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, flusso/PDE come controllo di non-determinismo per `reaction_diffusion`.
tools/data/reports/agent_20260509_1437.md:19:- **Proiezione**: verificare `boundary_blank_null_audit_residual_20260509_1500.json`, innestarlo nel prescan pieno e controllare `boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:28:- Strumenti usati: `tools/exp_boundary_blank_null_audit.py` e `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1437.md:29:- Input verificati: `tools/data/boundary_blank_null_audit_residual_20260509_1500.json` e `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:89:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `tools/data/boundary_blank_null_audit_residual_20260509_1500.json`, `tools/data/boundary_denominator_prescan_full_20260509_1500.json`, run di verifica in `/tmp`.
tools/data/reports/agent_20260509_1437.md:100:- Verifica script: `python -m py_compile tools/exp_boundary_blank_null_audit.py tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1437.md:101:- Run valido: `python tools/exp_boundary_blank_null_audit.py --domains string_vibration reaction_diffusion logistica_biforcazione_var_3.5699 --n-shuffle 1000 --seed 202605091500 --out /tmp/boundary_blank_null_audit_residual_20260509_1500.verify.json`.
tools/data/reports/agent_20260509_1437.md:102:- Run valido: `python tools/exp_boundary_denominator_prescan.py --extra-null-audit tools/data/boundary_blank_null_audit_20260509_1430.json --extra-null-audit tools/data/boundary_blank_null_audit_residual_20260509_1500.json --out /tmp/boundary_denominator_prescan_full_20260509_1500.verify.json`.
tools/data/reports/agent_20260509_1437.md:103:- Compare prescan: summary e rows combaciano con `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:107:- Script: `tools/exp_boundary_blank_null_audit.py`
tools/data/reports/agent_20260509_1437.md:108:- Script: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1437.md:109:- Data: `tools/data/boundary_blank_null_audit_residual_20260509_1500.json`
tools/data/reports/agent_20260509_1437.md:110:- Data: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`
tools/data/reports/agent_20260515_1940.md:5:**verdict**: CONSTRAINT - la riga Rosenzweig-Porter `lambda=0.060` sopravvive come unico boundary a due lettori su N={64,96,128}; le righe adiacenti sono intermittenti.  
tools/data/reports/agent_20260515_1940.md:8:**observable_contract**: claim=il gate RP a due lettori e fisico solo se la stessa riga lambda resta stabile attraversando le taglie; observable=two_reader_all_sizes da graph_bridge_frequency unita a Brody q, peso Wigner/Poisson, SR e IPR; operator=flusso Rosenzweig-Porter diagonal-plus-GUE ripetuto su N, seed e perturbazioni kNN; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=11 righe lambda identiche su N={64,96,128}; non_possible=claim fisico two-reader se nessuna riga e stable_graph_bridge+classical_intermediate in tutte le taglie; not_tested=limite N infinito, unfolding alternativi, Anderson/mobility edge, varianti many-body.
tools/data/reports/agent_20260515_1940.md:11:Il confine RP non si allarga quando cambia la taglia. Il punto-zero resta `lambda=0.060`; `0.045` e `0.075` sono bordo mobile del lettore, non boundary.
tools/data/reports/agent_20260515_1940.md:19:- **Proto-ipotesi**: il terzo incluso operativo nel flusso RP e una riga size-stable; una fascia lambda che compare solo in alcune taglie appartiene al lettore, non al boundary.
tools/data/reports/agent_20260515_1940.md:28:- **Baseline noto piu vicino**: crossover Rosenzweig-Porter / Wigner-Dyson-GUE vs Poisson, letto con adjacent gap ratio, Brody q e mistura Wigner/Poisson.
tools/data/reports/agent_20260515_1940.md:31:- **Cosa resta artifact/classificazione grafica**: `RP_lambda_0.045` e `RP_lambda_0.075` sono intermittenti; appaiono in alcune taglie o con frequenza insufficiente.
tools/data/reports/agent_20260515_1940.md:32:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 0`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + size sweep + Brody/Berry-like row-aligned`. Non sommo le righe classic-only al boundary a due lettori.
tools/data/reports/agent_20260515_1940.md:35:> Nel flusso Rosenzweig-Porter, il BOUNDARY fisico e la riga lambda che resta `stable_graph_bridge+classical_intermediate` su tutte le taglie testate.
tools/data/reports/agent_20260515_1940.md:38:La riga `RP_lambda_0.060` del 19:33 sopravvive come boundary size-stable, oppure era un punto finito dipendente da N=96?
tools/data/reports/agent_20260515_1940.md:46:- **Se fallisce**: se `lambda=0.060` cade con N maggiori o unfolding alternativi, il gate RP resta scaffold finite-size e non criterio fisico promuovibile.
tools/data/reports/agent_20260515_1940.md:49:- **Script**: `tools/exp_rp_boundary_size_stability_audit.py`.
tools/data/reports/agent_20260515_1940.md:50:- **Run**: `python tools/exp_rp_boundary_size_stability_audit.py --out tools/data/rp_boundary_size_stability_audit_20260515_1940.json`.
tools/data/reports/agent_20260515_1940.md:54:- **Contratto osservabile-operatore**: il ciclo testa stabilita cross-size del gate RP; non testa universalita asintotica, altre normalizzazioni di unfolding o sistemi Anderson.
tools/data/reports/agent_20260515_1940.md:67:| 64 | RP_lambda_0.060, RP_lambda_0.075 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:68:| 96 | RP_lambda_0.045, RP_lambda_0.060 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:69:| 128 | RP_lambda_0.045, RP_lambda_0.060 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:73:| RP_lambda_0.045 | intermittent two-reader | 0.500 | 1.000 |
tools/data/reports/agent_20260515_1940.md:74:| RP_lambda_0.060 | two-reader all sizes | 0.833 | 1.000 |
tools/data/reports/agent_20260515_1940.md:75:| RP_lambda_0.075 | intermittent two-reader | 0.333 | 1.000 |
tools/data/reports/agent_20260515_1940.md:78:1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate` in tutte le taglie testate.
tools/data/reports/agent_20260515_1940.md:79:2. Verificato: `RP_lambda_0.045` e intermittente; e stabile a N=96 e N=128, ma solo parameter-sensitive a N=64.
tools/data/reports/agent_20260515_1940.md:80:3. Verificato: `RP_lambda_0.075` e intermittente; e stabile a N=64, ma parameter-sensitive a N=96 e N=128.
tools/data/reports/agent_20260515_1940.md:87:Il gate RP a due lettori sopravvive nel perimetro finito come una sola riga size-stable: `lambda=0.060`. Le righe `0.045` e `0.075` delimitano il bordo mobile del lettore. Il claim promuovibile resta operativo e stretto: boundary fisico RP = intersezione cross-size di ponte grafico stabile e intermediacy classica, non fascia classica e non residuo graph-only.
tools/data/reports/agent_20260515_1940.md:93:- **Campo di possibilita**: possibile = audit finite-size di crossover RP/Anderson con intersezione cross-size; non-possibile = chiamare boundary una riga intermittente o una fascia classic-only.
tools/data/reports/agent_20260515_1940.md:104:- `python -m py_compile tools/exp_rp_boundary_size_stability_audit.py` completato.
tools/data/reports/agent_20260515_1940.md:105:- `python tools/exp_rp_boundary_size_stability_audit.py --out tools/data/rp_boundary_size_stability_audit_20260515_1940.json` completato.
tools/data/reports/agent_20260515_1940.md:111:- Script: `tools/exp_rp_boundary_size_stability_audit.py`
tools/data/reports/agent_20260515_1940.md:112:- Data: `tools/data/rp_boundary_size_stability_audit_20260515_1940.json`
tools/data/reports/agent_20260509_1556.md:9:**observable_contract**: claim=`blank_thin_support` sopravvive solo se, dopo estensione del denominatore sorgente, resta supporto vivo sottile senza beta chart; observable=gate canonico one-sided + beta chart sulle tre righe short; operator=`exp_boundary_short_denominator_extension.py`; generator=`source-denominator extension` per `percolation`, `random_matrix`, `zeta_zeros`; denominator=3 righe short del report 15:48, estese a `n_gaps=1024`; non_possible=promuovere `blank_thin_support` se il supporto cade, si ispessisce o recupera beta; not_tested=redesign globale 13 righe, fit `V_c`, validita' della label GUE/Poisson sorgente.
tools/data/reports/agent_20260509_1556.md:13:- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto + boundary operator + nodo regressivo `short_denominator`.
tools/data/reports/agent_20260509_1556.md:15:- **Piano superiore**: sheaf locale del boundary. La sezione locale cambia quando il denominatore viene esteso: il bordo non e' la label del dominio, e' la sezione che resta compatibile con gli osservabili.
tools/data/reports/agent_20260509_1556.md:16:- **Operatori laterali scelti**: boundary operator, filtrazione per denominatore, sheaf locale. Servono a riparare il nodo sorgente senza aggiungere un gate globale.
tools/data/reports/agent_20260509_1556.md:24:- `why`: esegue la direzione valutatore `same_frame_boundary_denominator_extension`, attaccando il nodo regressivo indicato dal report 15:48.
tools/data/reports/agent_20260509_1556.md:34:- Nuovo strumento: `tools/exp_boundary_short_denominator_extension.py`.
tools/data/reports/agent_20260509_1556.md:35:- Input sorgente: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1556.md:36:- Output: `tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:39:- Gate: stesso schema canonical original-vs-shuffle e beta interpolation del semireal boundary gate.
tools/data/reports/agent_20260509_1556.md:81:`blank_thin_support` = failure mode stabile del boundary.
tools/data/reports/agent_20260509_1556.md:95:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, report `agent_20260509_1548.md`, script `tools/exp_boundary_short_denominator_extension.py`, output `tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:106:- Verifica script: `python -m py_compile tools/exp_boundary_short_denominator_extension.py`.
tools/data/reports/agent_20260509_1556.md:107:- Run valido: `python tools/exp_boundary_short_denominator_extension.py --out tools/data/boundary_short_denominator_extension_20260509_1556.json`.
tools/data/reports/agent_20260509_1556.md:113:- Script nuovo: `tools/exp_boundary_short_denominator_extension.py`
tools/data/reports/agent_20260509_1556.md:114:- Data: `tools/data/boundary_short_denominator_extension_20260509_1556.json`
tools/data/reports/agent_20260423_0330.md:8:> The boundary between GUE and Poisson regimes should affect the two-channel decomposition. If gap correlations decay with prime scale (Brody β → 0), does the Markov-3 ordering information in the residue channel also decay?
tools/data/reports/agent_20260423_0330.md:69:The BOUNDARY tension (GUE→Poisson) operates in the magnitude channel (gap correlations, Brody β). It does NOT operate in the residue channel (Markov-3 memory). The two-channel decomposition separates scale-dependent structure from scale-invariant structure. This is a structural result: the "boundary" lives in one channel, not both.
tools/data/reports/agent_20260430_1905.md:84:- **BOUNDARY**: the boundary is not a point on a one-dimensional axis between GUE and Poisson. It is a two-dimensional structure: one axis for distribution (all observables agree), one axis for ordering (the dipole between spacing_ratio and lag1_acf). The terzo incluso is the dipole — it doesn't interpolate between GUE and Poisson, it has a structure that neither has.
tools/data/reports/agent_20260430_1905.md:106:- Script: `tools/exp_boundary_coherence.py`
tools/data/reports/agent_20260430_1905.md:107:- Data: `tools/data/boundary_coherence.json`
tools/data/reports/agent_20260421_0330.md:90:The residue channel is algebraically closed at order 3. Its PSD slope, ACF amplitude (exp_0419), and spectral shape are all determined by short-range Z/6Z transition statistics. The two-channel decomposition framework now has a sharp boundary:
tools/data/reports/agent_20260509_0819.md:8:**observable_contract**: claim=un generatore non-Sturmian puo' preservare il label-set phi a N=144 con `label_jaccard>=0.75` e distanza non triviale; observable=`label_jaccard`, `hamming_ratio`, `source_mode`, `acceptance_rate`, `event_type`, `vc_interp`, `r_floor`; operator=scansione di generatori balanced random, block shuffle, periodic approximant, Markov-density contro lettore gap-label phi; generator=non-Sturmian candidate pool; denominator=N=144, phases={0,0.25,0.5,0.75}, 2199 candidati validi post hamming gate, r_threshold={0.48,0.50,0.52}; non_possible=se passano solo generatori con memoria di blocco/periodo lungo, il null e' non-Sturmian ma non indipendente dal boundary; not_tested=trasferimento GUE/Poisson, fit power-law, scale N!=144, indipendenza fuori dal label reader phi.
tools/data/reports/agent_20260509_0819.md:13:- **Piano superiore**: topologia assiomatica del boundary. Non misuro se `V_c` converge; misuro se il lettore topologico sopravvive quando il generatore perde la grammatica Sturmian esplicita.
tools/data/reports/agent_20260509_0819.md:14:- **Operatori laterali scelti**: boundary operator, periodic approximant, graph/word cut. Il boundary operator legge il set; l'approssimante periodico rompe l'aperiodicita' mantenendo scala; il cut a blocchi separa memoria lunga da shuffle dispersivo.
tools/data/reports/agent_20260509_0819.md:25:> A N=144 esiste un null non-Sturmian che conserva il label-set phi (`label_jaccard>=0.75`) con `hamming_ratio>=0.03`; se passa solo con memoria di scala lunga, il null non e' indipendente dal boundary.
tools/data/reports/agent_20260509_0819.md:42:| source_mode | candidates | accepted | acceptance_rate | best_jaccard | median_jaccard | median_hamming |
tools/data/reports/agent_20260509_0819.md:71:4. **Verificato: il periodic approximant 21 conserva label-set ma rompe `V_c`.** Le `3/3` righe evento sono `no_cross`; quindi label-preserving e boundary-crossing divergono.
tools/data/reports/agent_20260509_0819.md:81:- **Singolare**: la scala 21/34 come punto dove il generatore non e' Sturmian nominale ma porta ancora il boundary.
tools/data/reports/agent_20260509_0819.md:86:Il prossimo passo e' separare memoria lunga e crossing: variare blocco/periodo attorno a `21,34` e chiedere quando `label_jaccard` resta alto ma `internal_cross` cade. Se il punto di caduta e' netto, il boundary ha una soglia di memoria; se e' continuo, il confine e' un gradiente di trasporto.
tools/data/reports/agent_20260516_0720.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate
tools/data/reports/agent_20260516_0720.md:21:- `why`: il ciclo resta sul perimetro vivo 8 GUE / 5 Poisson e ripara il confine come terzo incluso operativo, separando two-reader boundary, graph-only lift e residuo thresholded.
tools/data/reports/agent_20260516_0720.md:25:- **Baseline noto piu vicino**: Brody / Berry-Robnik / Rosenzweig-Porter per crossover GUE-Poisson; kNN stability, label shuffle e degree-preserving rewiring per residui grafo.
tools/data/reports/agent_20260516_0720.md:27:- **Cosa resta Lab-specific**: il contratto operativo che vieta di sommare graph-only al boundary a due lettori e vieta di chiamare residuo una riga senza soglia.
tools/data/reports/agent_20260516_0720.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = 1`; `positive_lift_unthresholded = 2`; `thresholded_graph_specific_residue = 0`; `graph_baseline_audit = label_shuffle + degree_preserving_rewire + raw-count threshold`.
tools/data/reports/agent_20260516_0720.md:39:- **Punto fisico di ritorno**: finestre finite in Rosenzweig-Porter, Anderson 3D o Aubry-Andre in cui un graph-only bridge deve essere trattato come candidato finche non supera null topologici.
tools/data/reports/agent_20260516_0720.md:40:- **Relazione nuova**: il boundary fisico non e un lift positivo; e una riga con lettore classico, lettore grafico e separazione statistica da null del grafo.
tools/data/reports/agent_20260516_0720.md:45:- **Script**: `tools/exp_boundary_graph_residue_threshold_audit.py`.
tools/data/reports/agent_20260516_0720.md:46:- **Input**: `tools/data/boundary_graph_null_audit_20260516_0330.json`.
tools/data/reports/agent_20260516_0720.md:47:- **Run**: `python tools/exp_boundary_graph_residue_threshold_audit.py --input tools/data/boundary_graph_null_audit_20260516_0330.json --out tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json --min-lift 0.10 --alpha 0.05`.
tools/data/reports/agent_20260516_0720.md:55:| numeri_primi:cycle_3 | 6/6 | 263/384 | 0.103216 | 362/384 | 0.701882 | 0.057292 | two_reader_boundary_confirmed, not graph-only |
tools/data/reports/agent_20260516_0720.md:66:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260516_0720.md:77:Il report 03:30 viene riparato nel nodo regressivo: `graph_specific_residue_after_nulls = 2` diventa `positive_lift_unthresholded = 2` e `thresholded_graph_specific_residue = 0`. Il boundary a due lettori resta una sola riga (`numeri_primi:cycle_3`). Le righe graph-only restano audit da stressare in sistemi controllati, non residui strutturali.
tools/data/reports/agent_20260516_0720.md:86:Il prossimo ciclo non deve rafforzare il perimetro composito 13 righe. Deve portare il contratto raw-count threshold su un sistema fisico controllato, con denominatori maggiori: Anderson 3D sparse/L piu grande o Rosenzweig-Porter con finestre row-aligned, richiedendo p-value e soglia prima della parola `residuo`.
tools/data/reports/agent_20260516_0720.md:89:ssp_value: yes. `tools/exp_boundary_graph_residue_threshold_audit.py` e un filtro riusabile per impedire promozioni graph-only senza count, soglia e p-value.
tools/data/reports/agent_20260516_0720.md:94:- `python -m py_compile tools/exp_boundary_graph_residue_threshold_audit.py` completato.
tools/data/reports/agent_20260516_0720.md:95:- `python tools/exp_boundary_graph_residue_threshold_audit.py --input tools/data/boundary_graph_null_audit_20260516_0330.json --out tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json --min-lift 0.10 --alpha 0.05` completato.
tools/data/reports/agent_20260516_0720.md:101:- Script: `tools/exp_boundary_graph_residue_threshold_audit.py`
tools/data/reports/agent_20260516_0720.md:102:- Data: `tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json`
tools/data/reports/agent_20260514_1640.md:8:**observable_contract**: claim=il tester L8 16:31 si rafforza solo se resta leggibile fra classi Wigner-Dyson distinte e fra due taglie; observable=`component_state(SR,L1,triple_var)` con `SR` = adjacent gap ratio canonico piu contrasto diretto GUE-GOE; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GOE reale simmetrico, GUE hermitiano complesso, Anderson 1D `W=6`, null Poisson span-matched; denominator=2 taglie `N={128,192}`, 64 repliche per taglia e dominio, 384 eventi trace, finestra centrale 0.5; non_possible=promuovere il pattern a legge fisica nuova o usare Anderson 1D come transizione universale; not_tested=dati sperimentali, unfolding dedicato, Anderson 3D, many-body localization, limite asintotico.
tools/data/reports/agent_20260514_1640.md:58:- **Adjacent gap ratio**: `SR` canonico = media di `min(g_i,g_{i+1})/max(g_i,g_{i+1})`, confronto standard senza unfolding fine.
tools/data/reports/agent_20260514_1640.md:102:- **Verificato / operational boundary**: Anderson `W=6` assorbe `SR` in entrambe le taglie (`p=0.930428` a `N=128`, `p=0.824118` a `N=192`) mentre `triple_var` resta active.
tools/data/reports/agent_20260514_1640.md:104:- **Non verificato**: dati sperimentali, unfolding dedicato, classi GSE, Anderson 3D, many-body localization, limite asintotico.
tools/data/reports/agent_20260507_0330.md:15:> If the GUE-Poisson boundary is simulated directly by controlled mixtures,
tools/data/reports/agent_20260507_0330.md:20:Tool created: `tools/exp_boundary_mixture_gate.py`
tools/data/reports/agent_20260507_0330.md:23:- domains: synthetic unfolded GUE spacings, iid Poisson spacings, and mixtures;
tools/data/reports/agent_20260507_0330.md:74:1. **The clean two-class boundary fails under denominator gating.** Pure GUE and pure Poisson are separable in all-observable space, but there are no observables stable at both endpoints under the declared gate. The Poisson pole is a weak-denominator pole: classification can still place it, but retention-normalized structural claims cannot use it as if it had the same denominator support as GUE.
tools/data/reports/agent_20260507_0330.md:76:2. **The operational boundary is a layer, not a line, in this synthetic perimeter.** Both the main run and the seed check isolate beta 0.3-0.4 as the ambiguous layer. In the main run the nearest-centroid margin falls to `0.070-0.083`, while ambiguous fraction rises to `0.812-0.875`. This is the measured form of the "third included" here: not a metaphysical third class, but a beta region where two-class assignment and denominator support are both unstable.
tools/data/reports/agent_20260507_0330.md:78:3. **Denominator collapse precedes full Poisson classification.** Stable-observable count drops from about `3.3` at beta 0.1-0.2 to `2.5` at beta 0.3 and `1.625` at beta 0.4. By beta 0.5 the classifier is fully Poisson-labeled, but only `0.750/5` observables remain stable on average. The loss of denominator support is therefore part of the boundary phenomenon, not an after-the-fact nuisance.
tools/data/reports/agent_20260507_0330.md:80:4. **The previous META constraints are extended, not replaced.** The 19:41 and 19:55 constraints still hold. This run adds that a boundary claim also needs a layer map: endpoint separability alone can hide the fact that one endpoint has no original-vs-shuffle denominator and that the transition region carries the actual instability.
tools/data/reports/agent_20260507_0330.md:83:**CONSTRAINT on META + BOUNDARY**: GUE/Poisson boundary claims must report:
tools/data/reports/agent_20260507_0330.md:89:> In the synthetic mixture perimeter tested here, the GUE-Poisson boundary is an operational layer at beta 0.3-0.4: classification is ambiguous there, and denominator support collapses across the transition. The Poisson endpoint remains classifiable but denominator-weak, so it cannot serve as a symmetric structural pole for gated retention claims.
tools/data/reports/agent_20260507_0330.md:101:- **L3 no silent patching**: the claim is explicitly changed from "8 GUE, 5 Poisson boundary" to a synthetic mixture calibration. This does not assert the same layer for primes or all real domains.
tools/data/reports/agent_20260507_0330.md:106:- Script: `tools/exp_boundary_mixture_gate.py`
tools/data/reports/agent_20260507_0330.md:107:- Main data: `tools/data/boundary_mixture_gate_20260507_0330.json`
tools/data/reports/agent_20260507_0330.md:108:- Seed check: `tools/data/boundary_mixture_gate_20260507_0330_seedcheck.json`
tools/data/reports/agent_20260508_0011.md:16:- **Scope**: 200,000 prime gaps (unfolded by local mean, kernel=100), GUE eigenvalue spacings (beta=2, matrix size ~2400, unfolded), Poisson (exponential i.i.d.)
tools/data/reports/agent_20260508_0011.md:71:**CONSTRAINT on DUALITA_DIPOLARE_VS_ILLUSORIA / BOUNDARY**: The boundary between dipolar and illusory duality in prime gaps is not a location but a trajectory. The duality contrast (real-vs-shuffle) weakens as N^{-0.11} for SR and N^{-0.18} for L1, approaching Poisson asymptotically. GUE has alpha >= 0.5 (no weakening). The discriminator between primes and GUE is the scaling exponent alpha, not the observable value at any fixed scale.
tools/data/reports/agent_20260501_0931.md:9:> "8 domains GUE, 5 Poisson — the boundary is the third included operational" (BOUNDARY).
tools/data/reports/agent_20260501_0931.md:63:4. **The boundary IS a thing (A9 operational).** The crossover is not a continuous interpolation between two regimes. There is a discrete transition point where the ordering signal vanishes. This point (alpha ~ 0.70) is the boundary — the third included between ordered and disordered. Below it, direction is locked. Above it, no coherent direction exists (post-transition magnitudes 0.02-0.03 are noise from finite-sample effects in the shuffle baseline).
tools/data/reports/agent_20260501_0931.md:67:**CONFIRMED structure on BOUNDARY**: The GUE-Poisson transition in the dipolar plane has a phase transition (direction flip at magnitude zero-crossing, alpha in [0.65, 0.75]). The boundary is a discrete structural feature, not an interpolation.
tools/data/reports/agent_20260501_0931.md:69:**CONSTRAINT on DIPOLAR_ORDERING**: Prime magnitude matches the GUE crossover at alpha ~ 0.45 (z=1.1), but the direction is 8.7 degrees off (32 sigma). Primes are not "partially shuffled GUE" — they share the quantity of ordering but differ in quality. Perimeter: this comparison uses partial-shuffle as the crossover mechanism. Other mechanisms (e.g., Rosenzweig-Porter, Brody) might yield different crossover topologies.
tools/data/reports/agent_20260501_0931.md:71:**L5 note (re-discovery check)**: The GUE-Poisson transition is well-studied (Rosenzweig-Porter model, Brody distribution, Anderson localization). The specific observation that the DIPOLAR DIRECTION is an invariant of the ordered regime while the magnitude decays linearly appears novel in this framework. Default hypothesis: direction invariance likely follows from the linearity of SR and L1 as functions of ordering fraction. The phase transition at the zero-crossing is structural — it marks where the ordering signal changes sign, not just magnitude.
tools/data/reports/agent_20260429_1041.md:123:- **BOUNDARY constrained**: the GUE/Poisson boundary (Brody flow) only describes layers 1-2. Layer 3 (algebraic) is invisible to Brody beta. Any complete model of the boundary must include the algebraic floor.
tools/data/reports/agent_20260515_1758.md:5:**verdict**: CONSTRAINT - nel potenziale Aubry-Andre coseno `phi` non chiude un boundary privilegiato; la finestra binaria 17:45 dipende dalla grammatica Sturmian, non dal solo irrazionale phi.  
tools/data/reports/agent_20260515_1758.md:8:**observable_contract**: claim=`phi` resta terzo incluso fisico anche quando il potenziale binario viene sostituito dal coseno Aubry-Andre canonico; observable=`spacing_r` + `mean_ipr` con controllo di distinzione da silver/bronze; operator=`tools/exp_aubry_cosine_boundary_counter_gate.py`; generator=Hamiltoniana tight-binding 1D con potenziale coseno per beta phi/silver/bronze, periodico beta=1/2 e random onsite uniforme; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..3.00 step 0.25, random_trials=6; non_possible=promuovere phi come boundary fisico se non si separa dai controlli irrazionali con spacing e localizzazione insieme; not_tested=limite asintotico, disordine correlato sperimentale, classi GUE/Poisson universali dirette.
tools/data/reports/agent_20260515_1758.md:17:- **Proto-ipotesi**: se `phi` e' boundary fisico e non solo effetto della codifica binaria, nel coseno Aubry-Andre deve restare insieme tra periodico e random e deve separarsi da silver/bronze su spacing e localizzazione.
tools/data/reports/agent_20260515_1758.md:24:- `not_drift`: non riapre prime/mod6, non usa selector legacy, non rifitta `V_c`; attacca il nodo regressivo lasciato dal ciclo 17:45: forma binaria del potenziale vs boundary fisico.
tools/data/reports/agent_20260515_1758.md:36:- **Punto fisico sorgente**: transizione spettrale/localizzazione in reticoli quasi-periodici, usata come ritorno fisico del boundary GUE/Poisson.
tools/data/reports/agent_20260515_1758.md:47:- `python -m py_compile tools/exp_aubry_cosine_boundary_counter_gate.py` completato.
tools/data/reports/agent_20260515_1758.md:48:- Run: `python tools/exp_aubry_cosine_boundary_counter_gate.py --out tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json`.
tools/data/reports/agent_20260515_1758.md:51:- Gate: `phi_joint_boundary = spacing_r_between and mean_ipr_between and separated_from_random and phi_distinct_from_irrational_controls`.
tools/data/reports/agent_20260515_1758.md:52:- La misura serve la combo perche' rende non-possibile attribuire il boundary a phi se silver/bronze seguono la stessa classe fisica.
tools/data/reports/agent_20260515_1758.md:72:1. **Verificato**: `phi_joint_boundary_v=[]`. Nessun valore di V chiude insieme intermedieta, separazione dal random e distinzione dai controlli irrazionali.
tools/data/reports/agent_20260515_1758.md:73:2. **Verificato**: da V=0.75 a V=1.75 `phi` e' tra periodico e random sia in `spacing_r` sia in `mean_ipr`, ma resta quasi coincidente con silver/bronze; il boundary e' classe quasi-periodica, non privilegio phi.
tools/data/reports/agent_20260515_1758.md:75:4. **Verificato**: a V=2.25 e V=2.50 `phi` si distingue dai controlli, ma non e' piu' boundary congiunto: `mean_ipr_between=false` e a V=2.25 cade anche la separazione dal random.
tools/data/reports/agent_20260515_1758.md:82:Il contro-perimetro coseno falsifica la promozione `phi` come terzo incluso fisico autonomo. Nel perimetro misurato il boundary congiunto non sopravvive quando la grammatica binaria viene rimossa. La formulazione valida diventa: `phi` e' candidato boundary nel potenziale binario Sturmian 17:45; nel coseno Aubry-Andre il contenuto si sposta alla classe quasi-periodica e alla transizione di localizzazione, non a phi come generatore privilegiato.
tools/data/reports/agent_20260515_1758.md:88:- **Invariante di passaggio**: ogni ritorno fisico del boundary deve dichiarare forma del potenziale, controlli irrazionali e gate joint spacing/localizzazione.
tools/data/reports/agent_20260515_1758.md:89:- **Campo di possibilita**: possibile = separare boundary di grammatica da boundary di classe fisica; non-possibile = promuovere `phi` come ritorno fisico se silver/bronze condividono la stessa risposta.
tools/data/reports/agent_20260515_1758.md:93:Il prossimo ciclo non deve allargare `phi` nel coseno. Deve isolare il residuo binario: stessa Hamiltoniana, stesso denominatore, ma ablazione della grammatica Sturmian tramite surrogate che preservano densita, autocorrelazione corta e spettro del potenziale. Se la finestra V=0.50..1.25 sopravvive solo alla grammatica completa, il finding e' `boundary-as-grammar`; se sopravvive a surrogate piu deboli, il finding diventa classe di correlazione del potenziale.
tools/data/reports/agent_20260515_1758.md:97:ssp_value: yes. Lo script e' un counter-gate riusabile per impedire che demo o visualizzazioni del boundary promuovano `phi` senza controlli irrazionali nel modello fisico scelto.
tools/data/reports/agent_20260515_1758.md:108:- `tools/exp_aubry_cosine_boundary_counter_gate.py`
tools/data/reports/agent_20260515_1758.md:109:- `tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json`
tools/data/reports/agent_20260417_0803.md:101:2. **The crossover lag 6 is the dipolar-illusory boundary.** At this lag, the PNT density drift (+0.008/lag) overtakes the structural anti-correlation (-0.007/lag). Below lag 6: dipolar duality dominates (det=-1, genuine anti-correlation). Above lag 6: illusory duality dominates in raw data (det=+1, trend-induced positive correlation that masks the true structure).
tools/data/reports/agent_20260509_0846.md:8:**observable_contract**: claim=il fit di scala di `V_c` rientra solo dopo tipizzazione del generatore; observable=`vc_median` e rate di evento separati per `generator_class` e `r_threshold`; operator=audit direzionale sul deposito row-aligned `agent_20260509_0837`, senza ricomputare spettri; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_generator_class_scale_gate_20260509_0837`, `N={89,144,233,377}`, phase `{0,0.25,0.5,0.75}`, soglie `r={0.48,0.50,0.52}`, livelli separati `per_mode_best` e `accepted_candidates`; non_possible=se una classe produce `no_cross`, `V_c` non esiste per quelle righe e il fit di scala non e' definito; not_tested=nuovi N oltre 377, nuovi generatori, nuovo calcolo spettrale, gap_ratio, power-law fit parametrico.
tools/data/reports/agent_20260509_0846.md:15:- **Operatori laterali scelti**: boundary operator, filtrazione per classe, grafo dei morfismi. Entrano per separare esistenza dell'attraversamento, direzione del valore e classe che conserva o rompe il ponte.
tools/data/reports/agent_20260509_0846.md:22:- **Proiezione**: leggo lo stesso JSON 08:37 con uno strumento nuovo che stratifica per `generator_class`, `r_threshold` e livello di aggregazione. Se i trend cambiano quando passo da `per_mode_best` ad `accepted_candidates`, il denominatore e' parte atomica del claim.
tools/data/reports/agent_20260509_0846.md:37:  - `accepted_candidates`: solo candidati accepted dal gate label-preserving.
tools/data/reports/agent_20260509_0846.md:61:Accepted candidates, soglia `r=0.50`:
tools/data/reports/agent_20260509_0846.md:74:3. **Verificato: il livello `per_mode_best` e il livello `accepted_candidates` dicono cose diverse.** Nel best-per-mode, `periodic_closure` conserva ancora alcuni crossing a N=233 e N=377; negli accepted candidati gli stessi N collassano a `no_cross` pieno. I due livelli non vanno saldati.
tools/data/reports/agent_20260509_0846.md:87:- **Singolare**: la riga boundary prima che `event_type` decida se la soglia esiste, cade al floor o non attraversa.
tools/data/reports/agent_20260508_2019.md:8:**observable_contract**: claim=se il portatore contratto del core phi e' ordine interno + scala Fibonacci-like, il core phi deve decadere quando il lettore theta=1/phi resta fisso ma il generatore Sturmian cambia pendenza; observable=retention del core phi basso [-1,1,-2,2], alto [3,-4,4,6], completo [-1,1,-2,2,3,-4,4,6] e overlap mediano; operator=Hamiltoniana tight-binding V=1, gap labels dei top gap larghi, reader fisso theta=1/phi contro controllo reader nativo; generator=Sturmian phi, silver, bronze, plastic; denominator=main N={233,377,500,610}, phase={0,0.25,0.5,0.75}, threshold={1.75,2.0,2.25}, top_k=12, |n|<=34; seedcheck N={144,288,466,754}, phase={0.125,0.375,0.625,0.875}, threshold={1.9,2.1}; not_tested=gap_ratio, boundary esatto del supertile, domini GUE/Poisson reali, automa formale della sostituzione.
tools/data/reports/agent_20260508_2019.md:15:- **Contaminazione cognitiva**: CE-0001 KSAR usato. Il kernel del ciclo 20:13 viene reiterato cambiando piano: non un altro boundary reader, ma il contro-polo naturale del generatore.
tools/data/reports/agent_20260508_2019.md:20:> Il core phi alto non e' un boundary esatto: e' una tassonomia generatore-lettore. Cambiando pendenza Sturmian e tenendo fisso theta=1/phi, il core phi decade; con reader nativo riappare una struttura ordinata propria.
tools/data/reports/agent_20260508_2019.md:73:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, il core phi non trasferisce ai generatori Sturmian non-phi quando il reader resta theta=1/phi. La perdita non e' disordine: con reader nativo i generatori non-phi mostrano core stabili e label-error basso. Formulazione valida: il portatore del core non e' il boundary esatto ne' il reader phi da solo; e' l'accoppiamento generatore-lettore. Il low core misura stabilita di famiglia Sturmian, il high core misura una coordinata piu' selettiva e denominatore-dipendente.
tools/data/reports/agent_20260508_2019.md:87:- **L3 no silent patching**: il boundary esatto non viene salvato; il claim viene contratto al portatore generatore-lettore.
tools/data/reports/agent_20260418_0330.md:105:**CONSTRAINT on DIPOLAR_ILLUSORY_BOUNDARY**: The crossover lag is k* = A/C, a smooth function of scale. As primes grow (A decays per ACF_AMPLITUDE_SCALING), k* should SHRINK — the dipolar-illusory boundary moves to shorter lags at larger primes. The dipolar regime narrows with scale.
tools/data/reports/agent_20260426_0330.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — where is the boundary?
tools/data/reports/agent_20260426_0330.md:26:### Cross-domain classification (crude unfolding, L=10)
tools/data/reports/agent_20260426_0330.md:39:*Primes with crude unfolding give misleading results — see proper analysis below.
tools/data/reports/agent_20260426_0330.md:41:### Primes with Li(p) unfolding (the real result)
tools/data/reports/agent_20260426_0330.md:78:- BOUNDARY: The boundary is not a line separating GUE from Poisson. It is a surface in the (short-range, long-range, ordering-fraction) space. Primes sit in the interior of this surface, not at a boundary.
tools/data/reports/agent_20260509_1444.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il gate viene letto come mappa di passaggio tra stato coerente, stato null e denominatore, non come tassonomia locale.
tools/data/reports/agent_20260509_1444.md:15:- **Operatori laterali scelti**: boundary operator, graph/perimeter transfer matrix, shuffle marginal-preserving. Entrano per trasferire il gate senza importare il label GUE/Poisson.
tools/data/reports/agent_20260514_1701.md:15:- **Operatori laterali scelti**: `operator algebra` per leggere lo spettro tridiagonale; `boundary operator` per trattare il gap grande come bordo; `same density random` per separare grammatica da densita.
tools/data/reports/agent_20260505_1022.md:59:Il claim precedente "i due Markov layer sono coupled al boundary" va ristretto:
tools/data/reports/agent_20260505_1022.md:63:Questo non falsifica l'esistenza del boundary. Falsifica il framing piu' forte: "un boundary unico per i layer". Il confine osservato e' una superficie operatore-dipendente. Il terzo incluso operativo non e' il valore alpha in se': e' la trasformazione che decide quali correlazioni vengono conservate.
tools/data/reports/agent_20260505_1022.md:77:L3 no silent patching: il claim precedente viene ristretto esplicitamente. "Coupled boundary" resta valido solo per il partial-shuffle gia' misurato, non come proprieta' generale dei layer.
tools/data/reports/agent_20260514_1649.md:8:**observable_contract**: claim=il candidato QxG 16:40 diventa fit-ready solo se espone input, output, soglie, trace, transfer/blank/fall e contro-perimetro; observable=`component_state(SR,L1,triple_var)` piu `poisson_contrast` e `direct_contrast`; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=nessun nuovo dominio, riuso deposito GOE/GUE/Anderson 16:40 e smoke test sintetico minimo; denominator=artifact JSON fit-ready + interfaccia su spettro ordinato; non_possible=integrare automaticamente il grafo o chiamare legge fisica il tester; not_tested=dati sperimentali, Anderson 3D, many-body localization, unfolding dedicato, limite asintotico.
tools/data/reports/agent_20260514_1649.md:61:| `graph_candidate_ref` | present |
tools/data/reports/agent_20260514_1649.md:96:- `blank`: il grafo QxG resta non integrato; restano vuoti dati sperimentali, GSE, Anderson 3D, many-body localization, unfolding dedicato e limite asintotico.
tools/data/reports/agent_20260514_1649.md:106:- **Non verificato**: robustezza su dati esterni, unfolding dedicato, classi fisiche non presenti nel deposito 16:40.
tools/data/reports/agent_20260514_1649.md:111:- `graph_candidate_ref`: `tools/data/graph_completion/graph_completion_20260514_1640.json`
tools/data/reports/agent_20260514_1649.md:121:3. **Verificato**: il graph candidate QxG resta `contract_ready_not_integrated`; nessuna integrazione automatica viene fatta.
tools/data/reports/agent_20260514_1649.md:139:Il prossimo passo e' decisione operatore o valutatore: integrare il riferimento nel grafo QxG come contratto candidate, oppure chiedere falsificazione esterna con dataset fisico. Il tester e' pronto per quel bivio.
tools/data/reports/agent_20260508_1909.md:7:observables_used: [gap_label_set, supertile_boundary, length_multiset, internal_order, high_label_condition_rate]
tools/data/reports/agent_20260508_1909.md:15:- **Proiezione**: il label-set dei gap larghi manifesta la combo perche' tiene fisso il reader theta=1/phi e muove solo la relazione fra grammatica, boundary e blocco.
tools/data/reports/agent_20260508_1909.md:78:4. **Inferito dal confronto fra controlli: il portatore osservato e' ordine interno + multiset di lunghezze Fibonacci, non boundary esatto.** Il test non autorizza "il core alto vive nel confine del supertile"; autorizza "il core alto richiede ordine interno e beneficia di lunghezze supertile-like".
tools/data/reports/agent_20260508_1909.md:83:La formulazione valida e': il label-set alto phi misura una condizione congiunta di ordine interno e lunghezze Fibonacci-like; non misura ancora il boundary simbolico del supertile e non misura `gap_ratio`.
tools/data/reports/agent_20260508_1909.md:87:- **Singolare**: il chunk lungo prima della distinzione fra boundary grammaticale e blocco contiguo.
tools/data/reports/agent_20260508_1909.md:89:- **Campo di possibilita**: qui diventa possibile cercare un osservabile di boundary piu' fine del label-set; qui diventa non-possibile dichiarare che il label-set alto riconosce da solo il confine esatto del supertile.
tools/data/reports/agent_20260508_1909.md:92:Costruire un gate di boundary simbolico che non legga solo il set dei label: confrontare label-set, posizione IDS dei label core e errore di label per chunk aligned/misaligned. Se il boundary reale esiste nell'osservabile, deve apparire nella geometria degli errori o nella posizione dei gap, non nel solo all-high rate.
tools/data/reports/agent_20260508_1909.md:99:- **L5 re-discovery**: la conservazione dell'ordine interno era gia' nota dal 18:34; il nuovo finding e' la non-discriminazione del boundary esatto da parte del label-set.
tools/data/reports/agent_20260514_1656.md:67:| `graph_candidate_ref` | present |
tools/data/reports/agent_20260514_1656.md:116:Il cycle ripara il contratto del report 16:49 per L6: nomina CE-0117 e KSAR, dichiara la trasformazione da risultato locale ad artifact fit-ready con transfer/blank/fall e trace, e conserva il boundary `not_integrated_operator_decision_required`.
tools/data/reports/agent_20260514_0330.md:15:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY + direzione viva `prime_vs_mod6_SR_boundary`.
tools/data/reports/agent_20260514_0330.md:38:- **operator**: `tools/exp_prime_vs_mod6_sr_boundary.py` con `--trace-jsonl`.
tools/data/reports/agent_20260514_0330.md:103:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_0330.md:104:- Data: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330.json`
tools/data/reports/agent_20260514_0330.md:105:- Trace: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330.trace.jsonl`
tools/data/reports/agent_20260514_0330.md:106:- Seed check: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.json`
tools/data/reports/agent_20260514_0330.md:107:- Seed trace: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.trace.jsonl`
tools/data/reports/agent_20260508_2133.md:13:- **Piano superiore**: boundary operator su grafo aritmetico di transizioni. Il bordo non e' letto sul singolo gap ma sulla coppia `(g_i,g_{i+1})`, dove SR misura forma e non grandezza assoluta.
tools/data/reports/agent_20260508_2133.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, random walk. Boundary operator definisce il vuoto prime-free; filtrazione costruisce i 16 pair bucket; random walk entra come permutazione locale delle classi di transizione dentro ogni bucket.
tools/data/reports/agent_20260515_1947.md:5:**verdict**: CONSTRAINT - il gate two-reader trasferisce fuori da Rosenzweig-Porter su Anderson 3D solo come riga finita W=20; le righe W=16/16.5 sono mobility-edge candidate ma non size-stable.  
tools/data/reports/agent_20260515_1947.md:8:**observable_contract**: claim=il gate BOUNDARY trasferisce oltre RP solo se la stessa riga Anderson W resta stable_graph_bridge+classical_intermediate su tutte le taglie testate; observable=two_reader_all_sizes da graph_bridge_frequency unita ad adjacent ratio, Brody q, peso Wigner/Poisson, IPR ed entropia di partecipazione; operator=Hamiltoniana Anderson 3D tight-binding periodica, sweep disorder, perturbazione seed+kNN; generator=H=sum_i eps_i |i><i| + hopping primi vicini su L^3, eps_i uniform[-W/2,W/2]; denominator=11 righe W identiche su L={5,6}; non_possible=trasferimento cross-dominio se nessuna riga W e stable_graph_bridge+classical_intermediate in tutte le taglie; not_tested=limite termodinamico, esponente critico, boundary conditions alternative, sparse large-L, spettri sperimentali.
tools/data/reports/agent_20260515_1947.md:11:Il gate attraversa il dominio, ma non cade sul numero noto W_c. Il lettore grafico vede anche lato metallico come ponte; il boundary a due lettori sopravvive solo dove il lettore classico smette di chiamare endpoint.
tools/data/reports/agent_20260515_1947.md:18:- **Contaminazione cognitiva**: CE-0019 `Respiro fuori-tempo` usata per fissare combo prima dei numeri; CE-0022 `Palette operatoria espansa del Lab` usata con operatori spettro/localizzazione/grafo; YSN DeltaLink=`RP_lambda / Anderson_W`; Cornelius gene=`Anderson_Two_Reader`: GENERA W, DIAGONALIZZA L^3, MISURA classico, COSTRUISCI grafo, INTERSECA taglie.
tools/data/reports/agent_20260515_1947.md:19:- **Proto-ipotesi**: un boundary fisico trasferibile non conserva il parametro RP; conserva il contratto row-aligned tra lettore classico e lettore grafico. Se la riga cade sul lato endpoint, e residuo del lettore.
tools/data/reports/agent_20260515_1947.md:29:- **Cosa viene assorbito dal baseline**: W=8,12,14,17 sono stable graph bridge ma endpoint Wigner per il lettore classico; sono lato metallico/finite-size, non boundary Lab.
tools/data/reports/agent_20260515_1947.md:31:- **Cosa resta artifact/classificazione grafica**: `graph_only_residue_by_size = {L5: 3, L6: 4}`; questi residui non vengono sommati al boundary a due lettori.
tools/data/reports/agent_20260515_1947.md:32:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 3/4 by size`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + adjacent-r/Brody/Wigner-Poisson/IPR row-aligned`.
tools/data/reports/agent_20260515_1947.md:35:> Il gate two-reader size-stable attraversa da Rosenzweig-Porter ad Anderson 3D se una riga W resta insieme ponte grafico stabile e intermedia classica su L={5,6}.
tools/data/reports/agent_20260515_1947.md:38:Il boundary come intersezione lettore classico + lettore grafico attraversa il dominio Anderson, oppure resta specifico del flusso RP?
tools/data/reports/agent_20260515_1947.md:88:3. Verificato: il grafo produce residui endpoint Wigner stabili su W=8,12,17 e parzialmente W=14. Questi sono `graph_only_residue`, non two-reader boundary.
tools/data/reports/agent_20260515_1947.md:89:4. Inferito dal perimetro: la riga W=20 sopra il mobility edge noto segnala finite-size/local-unfolding sensitivity; il gate trasferisce come audit, non come nuova stima critica.
tools/data/reports/agent_20260429_1013.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — the boundary is the operative third included.
tools/data/reports/agent_20260429_1013.md:16:- **Observable**: Brody beta (MLE from unfolded gaps) and r-statistic (consecutive spacing ratio) in sliding windows along the prime sequence.
tools/data/reports/agent_20260429_1013.md:57:1. **Primes flow toward Poisson, not toward GUE.** beta decreases from 0.46 (near p ~ 22K) to 0.33 (near p ~ 2M). The GUE/Poisson boundary is not a fixed point — it is a trajectory. The linear fit beta(p) = 0.64 - 0.030 * ln(p) has R^2 = 0.78.
tools/data/reports/agent_20260429_1013.md:75:The full picture is a 2D map beta(N, L) with opposing gradients. The boundary between GUE and Poisson is a CURVE in this 2D space, not a point.
tools/data/reports/agent_20260429_1013.md:81:- **BOUNDARY**: The boundary is not a classification (GUE vs Poisson) but a flow. Primes start closer to GUE at small N and drift toward Poisson at large N. The boundary IS the trajectory — the third included is the path between the two regimes, not a point on it.
tools/data/reports/agent_20260515_1659.md:14:- **Operatori laterali scelti**: `boundary operator` per separare contesto e direzione; `graph cut` per isolare i selector legacy; `proof trace vs output trace` per confrontare matrice, coherence e preflight.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0852.md:68:- **BOUNDARY**: The boundary between "structured" and "unstructured" is not binary. It has at least 3 levels: 0 channels (Cramer/Poisson), 1 channel (GUE), 2 channels (primes). The "GUE-Poisson crossover" is about the binary channel only — the magnitude channel crossover is a separate phenomenon.
tools/data/reports/agent_20260515_1816.md:15:- **Operatori laterali scelti**: boundary condition, eigenvector localization, non-phi generator control.
tools/data/reports/agent_20260515_1816.md:28:> A V=2, il boundary si conserva come proprieta del generatore: binario Sturmian, coseno continuo e null disorder hanno tau di partecipazione distinti; la specificita phi sopravvive solo se phi binario separa anche dai controlli Sturmian non-phi.
tools/data/reports/agent_20260515_1816.md:90:La formulazione valida e': a V=2 il boundary e' proprieta della classe del generatore, non del solo phi. Il binario Sturmian produce scaling piu esteso del coseno continuo e del disorder, ma il controllo silver resta troppo vicino per chiamarlo phi-specific.
tools/data/reports/agent_20260515_1816.md:97:- **Campo di possibilita**: possibile = progettare test fisici che separano coseno, binario ordinato e disorder alla stessa ampiezza V=2; non-possibile = promuovere `phi` come boundary autonomo finche silver/bronze restano nello stesso corridoio di tau.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:8:> 8 domains GUE, 5 Poisson — the boundary is the third included (A9). Also: are we testing tautologies? (META)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:11:The last 3 runs established: (1) algebraic memory is mod-3, (2) two-channel structure is real, (3) spectral rigidity is scale-dependent. Consecutio: **do the residue and magnitude channels lose structure at the same scale, or at different scales?** If different, the "GUE/Poisson boundary" measured by r-statistic is an artifact of mixing two fundamentally different behaviors.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:44:1. **The residue channel has no boundary.** Its z-score against shuffle stays at 26-44 sigma across the entire range tested (primes from 23K to 4.5M, a 200x span). The decay correlation with ln(p) is -0.190 — essentially zero or slightly strengthening. The mod-3 prohibition (self-transition fraction ~0.40 vs shuffle ~0.61) is equally strong at all scales.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:46:2. **The magnitude channel has a boundary.** Its z-scores fluctuate between -2 and -7, with a weak positive correlation with ln(p) (0.455), meaning they drift toward the null at larger primes. This channel is what drives the r-statistic toward Poisson.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:55:- **BOUNDARY**: There is no single boundary. The algebraic channel (residue, mod-3) has no boundary in the tested range. The statistical channel (magnitude) decays slowly. What was called "the GUE/Poisson boundary" is the mixing artifact of two channels with different scaling laws.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:65:- **Invariante di passaggio**: the channel decomposition itself. Whether you measure at p=23K or p=4.5M, the decomposition produces one algebraic and one statistical channel. The decomposition is the invariant; the boundary locations are the variables.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:66:- **Campo di possibilita**: here it becomes possible to predict that no amount of scaling will eliminate the mod-3 structure (it's algebraic, not statistical); here it becomes non-possible to use r-statistic as a single order parameter for the "boundary."
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:69:- Script: `tools/exp_two_channel_boundary.py` (reusable with --n_primes, --window, --n_surrogates)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:70:- Data: `tools/data/two_channel_boundary.json`
tools/data/reports/agent_20260506_0330.md:21:- **Domains**: 30,000 prime gaps; GUE (253 unfolded spacings from 23x23 Hermitian matrix).
tools/data/reports/agent_20260506_0330.md:64:4. **The previous single-coordinate result was a property of uniform shuffle, not of the boundary itself.** Uniform shuffle is the most destructive perturbation — it erases all scales simultaneously, producing a single "damage axis." Scale-selective perturbations separate this into at least two components (especially in GUE).
tools/data/reports/agent_20260506_0330.md:69:**CONSTRAINT on META + BOUNDARY**: the single latent coordinate found under uniform shuffle (rank audit 05-05) is a property of the perturbation type, not of the boundary itself. Scale-selective perturbations reveal a second axis in GUE (PC2=25.2%) and a weak second axis in primes (PC2=2.6%). The operational consequence: **GUE and primes have different perturbation dimensionality** — GUE correlations live on at least 2 perturbation axes, primes on ~1.3. This asymmetry between domains is new structure, not previously measured.
tools/data/reports/agent_20260506_0330.md:77:- **Campo di possibilita**: here it becomes possible to distinguish domains by HOW they respond to structured probing (not just WHETHER they respond). Here it becomes non-possible to treat all perturbation z-scores as independent evidence of the same boundary.
tools/data/reports/agent_20260506_0330.md:82:- **L3 no silent patching**: The rank audit claim (05-05: "boundary is 1D in observable space") is NOT declared resolved. It is refined: "1D under uniform shuffle, multi-D under scale-selective, especially in GUE." The distinction is explicit.
tools/data/reports/agent_20260421_0330.md:90:The residue channel is algebraically closed at order 3. Its PSD slope, ACF amplitude (exp_0419), and spectral shape are all determined by short-range Z/6Z transition statistics. The two-channel decomposition framework now has a sharp boundary:
tools/selector_authority_matrix.py:236:        "role": "candidate_context",
tools/selector_authority_matrix.py:237:        "verdict": verdict_for_statuses([status], role="candidate_context"),
tools/selector_authority_matrix.py:238:        "reason": "Graph completion is candidate context unless a later gate promotes it.",
tools/selector_authority_matrix.py:252:        "role": "active_authority_candidate",
tools/selector_authority_matrix.py:277:        if s["role"] in {"active_authority", "active_authority_candidate"}
tools/selector_authority_matrix.py:295:        "next_required_claim_boundary": (
tools/selector_authority_matrix.py:311:        result["next_required_claim_boundary"],
tools/data/reports/agent_20260509_0829.md:8:**observable_contract**: claim=la soglia di memoria del boundary si vede variando blocchi e periodi attorno alle scale 21/34; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `event_type`, `vc_interp`, `r_floor`; operator=griglia fine di block shuffle e periodic approximant contro lettore gap-label phi e curva `r(V)`; generator=non-Sturmian candidate pool gia' usato nel gate 08:19; denominator=`N=144`, phases `{0,0.25,0.5,0.75}`, r_threshold `{0.48,0.50,0.52}`, block sizes `{2,3,5,8,10,13,16,21,24,27,31,34,37,40,45,50,55}`, periods `{5,8,10,13,16,21,24,27,31,34,37,40,45,50,55,72,89}`, 128 balanced random trials, 96 mode trials; non_possible=se `label_jaccard` alto non implica `internal_cross`, il label-set isolato non puo' essere usato come null indipendente del boundary; not_tested=scale `N!=144`, fit power-law, GUE/Poisson transfer, gap_ratio.
tools/data/reports/agent_20260509_0829.md:14:- **Operatori laterali scelti**: boundary operator, periodic approximant, cut a blocchi. Entrano per separare scala conservata, periodo chiuso e dispersione random.
tools/data/reports/agent_20260509_0829.md:18:  - **Cornelius gene**: "Il boundary passa quando memoria e crossing co-operano; cade quando il label-set resta solo."
tools/data/reports/agent_20260509_0829.md:21:- **Proto-ipotesi**: il boundary non ha una soglia unica di memoria. Il taglio a blocchi conserva crossing su molte scale anche quando il label-set e' medio; l'approssimante periodico puo' conservare label senza crossing. La dualita' operativa e' memoria di ordine / chiusura periodica.
tools/data/reports/agent_20260509_0829.md:28:Quando `label_jaccard` resta alto ma `internal_cross` cade, il boundary e' ancora trasporto di memoria o solo conservazione del vocabolario topologico?
tools/data/reports/agent_20260509_0829.md:73:**CONSTRAINT**: nel perimetro `N=144`, il boundary non e' determinato da `label_jaccard` da solo. Il block shuffle lungo conserva il crossing anche quando il label mediano non supera sempre il gate; l'approssimante periodico puo' passare il gate come candidato e perdere il crossing. Il contratto valido e': `source_mode + memoria di scala + event_type`, non `label_jaccard` isolato.
tools/data/reports/agent_20260509_0829.md:81:- **Campo di possibilita**: qui diventa possibile costruire un null a due assi (`label_jaccard`, `event_type`) per il boundary; qui diventa non-possibile usare `label_jaccard>=0.75` come certificato di indipendenza.
tools/data/reports/agent_20260509_0829.md:84:Il prossimo passo e' fare il passaggio fuori da `N=144`: ripetere solo sui modi discriminanti (`block_shuffle_21/34/45`, `periodic_21/45/72`, random, Markov) a `N={89,144,233,377}`. Se block e periodic si separano anche in scala, il boundary ha due assi stabili; se collassano, la separazione era un artefatto di `N=144`.
tools/data/reports/agent_20260509_1839.md:9:**observable_contract**: claim=la tassonomia delle transizioni post-estensione scala se nessuna delle 13 righe resta `thin_persists`; observable=`transition_class` row-aligned sulle 13 righe; operator=`exp_boundary_transition_taxonomy_13rows.py`; generator=composizione dei depositi 15:32, 15:38, 15:56 e prescan 15:00 senza rigenerare segnali; denominator=13 righe BOUNDARY semi-reali; non_possible=promuovere `blank_thin_support` come specie autonoma se `thin_persist_rows=0`; not_tested=nuova griglia beta, nuovi null, fit `V_c`, validita' label GUE/Poisson sorgente.
tools/data/reports/agent_20260509_1839.md:15:- **Piano superiore**: sheaf locale del boundary su 13 sezioni. La sezione corta viene riparata, poi ricollocata nell'atlante senza usare label GUE/Poisson.
tools/data/reports/agent_20260509_1839.md:16:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, coordinate chart. Servono a comporre stati gia' misurati senza introdurre un nuovo gate.
tools/data/reports/agent_20260509_1839.md:17:- **Contaminazione cognitiva**: CE-0019: contratto combo prima della misura; CE-0022: palette come boundary operator e chart locale; KSAR: riuso del deposito stabile 15:32-15:56; PVI: se resta `thin_persists`, la tassonomia cade.
tools/data/reports/agent_20260509_1839.md:34:- Nuovo strumento: `tools/exp_boundary_transition_taxonomy_13rows.py`.
tools/data/reports/agent_20260509_1839.md:35:- Input: `boundary_two_axis_matrix_20260509_1532.json`, `boundary_row_aligned_nonexact_audit_20260509_1538.json`, `boundary_short_denominator_extension_20260509_1556.json`, `boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1839.md:36:- Output: `tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`.
tools/data/reports/agent_20260509_1839.md:102:`blank_thin_support` = specie autonoma del boundary.
tools/data/reports/agent_20260509_1839.md:104:Il boundary resta una matrice di transizioni: supporto che cade, supporto che si ispessisce senza beta, chart beta recuperata, chart beta esatta, chart locale non unica, chart spostata.
tools/data/reports/agent_20260509_1839.md:127:- Verifica script: `python -m py_compile tools/exp_boundary_transition_taxonomy_13rows.py`.
tools/data/reports/agent_20260509_1839.md:128:- Run valido: `python tools/exp_boundary_transition_taxonomy_13rows.py --out tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`.
tools/data/reports/agent_20260509_1839.md:133:- Script nuovo: `tools/exp_boundary_transition_taxonomy_13rows.py`
tools/data/reports/agent_20260509_1839.md:134:- Data: `tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`
tools/exp_rp_boundary_raw_count_null_audit.py:3:Raw-count null audit for the Rosenzweig-Porter BOUNDARY row.
tools/exp_rp_boundary_raw_count_null_audit.py:83:            elif labels[i] == "flow_candidate" and labels[other] in {"Poisson_pole", "GUE_pole"}:
tools/exp_rp_boundary_raw_count_null_audit.py:87:        if labels[i] == "flow_candidate" and cross_fraction > 0.0 and margin < 0.35:
tools/exp_rp_boundary_raw_count_null_audit.py:88:            state = "third_included_candidate"
tools/exp_rp_boundary_raw_count_null_audit.py:94:                "boundary_state": state,
tools/exp_rp_boundary_raw_count_null_audit.py:118:        f"RP_lambda_{lam:.3f}": {
tools/exp_rp_boundary_raw_count_null_audit.py:162:            observed_candidates = [
tools/exp_rp_boundary_raw_count_null_audit.py:163:                row["domain_window"] for row in observed if row["boundary_state"] == "third_included_candidate"
tools/exp_rp_boundary_raw_count_null_audit.py:165:            reader_runs.append({"n": n, "seed": seed, "k": k, "observed_candidates": observed_candidates})
tools/exp_rp_boundary_raw_count_null_audit.py:170:                if graph_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_boundary_raw_count_null_audit.py:182:                    if null_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_boundary_raw_count_null_audit.py:188:                    if null_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_boundary_raw_count_null_audit.py:278:        name = f"RP_lambda_{lam:.3f}"
tools/exp_rp_boundary_raw_count_null_audit.py:311:        "experiment": "rp_boundary_raw_count_null_audit",
tools/exp_rp_boundary_raw_count_null_audit.py:312:        "question": "Does the Rosenzweig-Porter boundary row beat row-aligned graph nulls with raw counts across sizes?",
tools/exp_rp_boundary_raw_count_null_audit.py:345:            "decision": "thresholded_two_reader_boundary only if all clauses pass; otherwise graph bridge remains positive_lift_unthresholded or classic-only",
tools/exp_rp_boundary_raw_count_null_audit.py:348:            "claim": "the RP boundary row is a controlled physical third-included only if raw graph hits beat label-shuffle and position-shift nulls at the same lambda row",
tools/exp_rp_boundary_raw_count_null_audit.py:353:            "non_possible": "thresholded boundary if no lambda beats both nulls or if the pass is not size-stable",
tools/exp_rp_boundary_raw_count_null_audit.py:354:            "not_tested": "N to infinity, experimental spectra, unfolding alternatives, Anderson 3D, many-body RP",
tools/exp_rp_boundary_raw_count_null_audit.py:376:    parser.add_argument("--out", default="tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json")
tools/data/reports/agent_20260509_0819.md:8:**observable_contract**: claim=un generatore non-Sturmian puo' preservare il label-set phi a N=144 con `label_jaccard>=0.75` e distanza non triviale; observable=`label_jaccard`, `hamming_ratio`, `source_mode`, `acceptance_rate`, `event_type`, `vc_interp`, `r_floor`; operator=scansione di generatori balanced random, block shuffle, periodic approximant, Markov-density contro lettore gap-label phi; generator=non-Sturmian candidate pool; denominator=N=144, phases={0,0.25,0.5,0.75}, 2199 candidati validi post hamming gate, r_threshold={0.48,0.50,0.52}; non_possible=se passano solo generatori con memoria di blocco/periodo lungo, il null e' non-Sturmian ma non indipendente dal boundary; not_tested=trasferimento GUE/Poisson, fit power-law, scale N!=144, indipendenza fuori dal label reader phi.
tools/data/reports/agent_20260509_0819.md:13:- **Piano superiore**: topologia assiomatica del boundary. Non misuro se `V_c` converge; misuro se il lettore topologico sopravvive quando il generatore perde la grammatica Sturmian esplicita.
tools/data/reports/agent_20260509_0819.md:14:- **Operatori laterali scelti**: boundary operator, periodic approximant, graph/word cut. Il boundary operator legge il set; l'approssimante periodico rompe l'aperiodicita' mantenendo scala; il cut a blocchi separa memoria lunga da shuffle dispersivo.
tools/data/reports/agent_20260509_0819.md:25:> A N=144 esiste un null non-Sturmian che conserva il label-set phi (`label_jaccard>=0.75`) con `hamming_ratio>=0.03`; se passa solo con memoria di scala lunga, il null non e' indipendente dal boundary.
tools/data/reports/agent_20260509_0819.md:42:| source_mode | candidates | accepted | acceptance_rate | best_jaccard | median_jaccard | median_hamming |
tools/data/reports/agent_20260509_0819.md:71:4. **Verificato: il periodic approximant 21 conserva label-set ma rompe `V_c`.** Le `3/3` righe evento sono `no_cross`; quindi label-preserving e boundary-crossing divergono.
tools/data/reports/agent_20260509_0819.md:81:- **Singolare**: la scala 21/34 come punto dove il generatore non e' Sturmian nominale ma porta ancora il boundary.
tools/data/reports/agent_20260509_0819.md:86:Il prossimo passo e' separare memoria lunga e crossing: variare blocco/periodo attorno a `21,34` e chiedere quando `label_jaccard` resta alto ma `internal_cross` cade. Se il punto di caduta e' netto, il boundary ha una soglia di memoria; se e' continuo, il confine e' un gradiente di trasporto.
tools/data/reports/agent_20260509_0741.md:8:**observable_contract**: claim=il generatore surrogate per `V_c` deve raggiungere `Jaccard>=0.75` a N=144 con acceptance_rate non nulla prima del trasferimento GUE/Poisson; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `event_type`, `vc_interp`, `r_floor`, `r_span`; operator=aggiunta di candidati `phase_shift_sturmian` al generatore label-preserving, poi lettura della curva `r(V)`; generator=phi Sturmian, balanced_random, phase_shift_sturmian dentro `swap_label_surrogate`; denominator=N=144, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, label_trials=2, phase_candidate_trials=64, swap_steps=0; non_possible=se il gate passa solo con source_mode Sturmian, il null e' ponte strutturato e non controprova indipendente del boundary; not_tested=GUE/Poisson, silver/bronze, fit power-law, gap_ratio, indipendenza del null fuori da source_mode Sturmian.
tools/data/reports/agent_20260509_0741.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, trasporto di fase. Il boundary operator separa floor e crossing; la filtrazione produce la curva; il trasporto di fase testa reachability del label-set senza fingere indipendenza.
tools/data/reports/agent_20260509_0741.md:30:- Patch: aggiunta sorgente `phase_shift_sturmian` esplicita, con parametro `--phase-candidate-trials`.
tools/data/reports/agent_20260509_0741.md:34:- Run valido: `N=144`, 4 fasi, 2 candidati label per fase, 64 phase-candidates per candidato, `swap_steps=0`.
tools/data/reports/agent_20260509_0741.md:35:- Denominatore grezzo: `8` sequenze surrogate candidate; `24` righe evento per soglie `0.48/0.50/0.52`.
tools/data/reports/agent_20260509_0741.md:67:2. **Verificato: il ponte accettato conserva la forma Sturmian del boundary.** Le righe surrogate hanno `24/24` internal_cross, `0` floor-hit e `0` internal_multi; il random bilanciato resta misto (`3/12` floor-hit, `6/12` internal_cross, `3/12` internal_multi).
tools/data/reports/agent_20260509_0741.md:68:3. **Verificato: il risultato non e' indipendenza del null.** Tutti i surrogate accettati hanno `source_mode=phase_shift_sturmian`. Quindi il gate dimostra reachability del label-set dentro la famiglia Sturmian, non controprova esterna del boundary.
tools/data/reports/agent_20260509_0741.md:73:**CONSTRAINT**: il null label-preserving per `V_c` raggiunge `Jaccard>=0.75` a `N=144` con acceptance_rate non nulla (`6/8` sequenze, `0.75` sulle righe evento), ma solo come `phase_shift_sturmian`. Quindi il Lab ha un ponte strutturato accettabile per testare coerenza interna del boundary, non un contro-campo indipendente per trasferire verso GUE/Poisson.
tools/data/reports/agent_20260509_0741.md:75:La formulazione valida e': `phase_shift_sturmian` chiude il problema di reachability a N=144; non chiude il problema di indipendenza. Il prossimo confronto deve costruire un null non-Sturmian con `source_mode` diverso e `hamming_ratio` dichiarato, oppure dichiarare che il boundary `V_c` resta definito dentro la famiglia Sturmian.
tools/data/reports/agent_20260509_0741.md:98:- Run valido: `python tools/exp_vc_label_preserving_swap_gate.py --ns 144 --phases 0,0.25,0.5,0.75 --random-trials 1 --label-trials 2 --swap-steps 0 --structured-trials 0 --phase-candidate-trials 64 --min-hamming-ratio 0.03 --seed 202605090741 --out tools/data/vc_label_preserving_phase_bridge_20260509_0741.json`.
tools/dnd_md2latex.py:90:            candidate = line.strip('*').strip()
tools/dnd_md2latex.py:91:            if candidate != meta['title'] and len(candidate) > 10:
tools/dnd_md2latex.py:92:                meta['subtitle'] = candidate
tools/data/reports/agent_20260509_0837.md:8:**observable_contract**: claim=la separazione ordine aperto / chiusura periodica / dispersione random trasferisce fuori da `N=144`; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `generator_class`, `event_type`, `vc_interp`, `r_floor`; operator=scansione multi-scala dei modi discriminanti del gate 08:29; generator=phi_sturmian, block_shuffle_{21,34,45}, periodic_approximant_{21,45,72}, balanced_random, markov_density; denominator=`N={89,144,233,377}`, phases `{0,0.25,0.5,0.75}`, r_threshold `{0.48,0.50,0.52}`, 5,766 candidati non-Sturmian post hamming gate; non_possible=se periodic closure accetta label ma produce `no_cross`, `label_jaccard` non certifica boundary-crossing; not_tested=fit power-law di `V_c`, gap_ratio, scale oltre `N=377`, generatori diversi da quelli discriminanti.
tools/data/reports/agent_20260509_0837.md:11:- **Prima impressione**: il boundary non chiede un valore di scala; chiede il tipo di memoria che sopravvive quando il denominatore cambia.
tools/data/reports/agent_20260509_0837.md:14:- **Piano superiore**: topologia assiomatica e grafo delle classi operative. La misura non cerca il miglior `V_c`; tipizza il generatore che trasporta o disperde il boundary.
tools/data/reports/agent_20260509_0837.md:15:- **Operatori laterali scelti**: boundary condition, word cut, periodic approximant. Entrano per separare memoria d'ordine, chiusura periodica e dispersione random.
tools/data/reports/agent_20260509_0837.md:22:- **Proiezione**: ripeto solo i modi discriminanti a quattro N. Se block, periodic e random collassano insieme, la separazione era artefatto di N=144; se divergono, la classe del generatore diventa parte atomica del claim boundary.
tools/data/reports/agent_20260509_0837.md:76:| source_mode | accepted / candidates | acceptance_rate | best_label_jaccard |
tools/data/reports/agent_20260509_0837.md:92:5. **Inferito: la classe operativa del generatore deve entrare nel contratto boundary.** `label_jaccard` nomina il vocabolario topologico; `event_type` nomina il trasporto dinamico; `generator_class` decide se i due restano accoppiati.
tools/data/reports/agent_20260509_0837.md:95:**CONSTRAINT**: la separazione di N=144 trasferisce nel perimetro `N={89,144,233,377}`. Il boundary non e' un claim su `label_jaccard` isolato e non e' un claim su `V_c` isolato. Il contratto valido e':
tools/data/reports/agent_20260509_0837.md:105:- **Campo di possibilita**: qui diventa possibile costruire una scansione boundary tipizzata per classi di generatore; qui diventa non-possibile trattare `V_c` scaling o `label_jaccard` come osservabile sufficiente senza `source_mode/event_type`.
tools/data/reports/agent_20260509_0837.md:115:- **L4 edge cases**: a `N=89` periodic closure best-per-mode ha `33/33` internal_cross ma label mediano `0.625`; questo non annulla il vincolo sugli accepted event rows, segnala che best-per-mode e accepted-candidate sono livelli diversi.
tools/data/reports/agent_20260509_0637.md:8:**observable_contract**: claim=la forma `r(V)` del boundary Sturmian-Harper e' sostenuta da attraversamenti interni, non da collasso al bordo minimo della filtrazione; observable=`event={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`; operator=curva `r(V)` su griglia 0.5..3.0 step 0.01, crossing lineare e classificazione del primo stato rispetto a `r_threshold={0.48,0.50,0.52}`; generator=phi Sturmian, phase-shuffle Sturmian, random bilanciato, surrogate random selezionato per overlap label-set; denominator=N={89,144,233}, phase={0,0.25,0.5,0.75}, phase_trials=2, random_trials=2, label_trials=2, label_candidates=5, seed=202605090637; non_possible=se un null che preserva label-set produce crossing interno unico e stesso `r_floor` dei generatori Sturmian, `V_c` non e' piu' boundary map di ordine Sturmian; not_tested=GUE/Poisson reali, silver/bronze in questo ciclo, fit power-law, label-preserving forte con accettazione Jaccard>=0.75.
tools/data/reports/agent_20260509_0637.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, spectrum-preserving surrogate. Il boundary operator separa floor e interno; la filtrazione scorre `V`; il surrogate tenta di conservare il lettore label-set prima di misurare il crossing.
tools/data/reports/agent_20260509_0637.md:19:- **Proto-ipotesi**: se il boundary e' effetto di ordine Sturmian, allora le fasi Sturmian devono conservare crossing interno senza floor-hit; se basta preservare parzialmente il label-set, il surrogate random deve recuperare lo stesso evento interno unico. Se il surrogate non preserva il label-set, il ciclo produce un vincolo sul generatore del null.
tools/data/reports/agent_20260509_0637.md:80:**CONSTRAINT on V_c null**: nel perimetro `N={89,144,233}`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, il boundary Sturmian e' crossing interno unico. Il random bilanciato non e' un contro-campo omogeneo: contiene floor-hit e multi-crossing. La separazione precedente metallico/random resta valida come distinzione di evento, ma il ciclo non chiude il claim label-set perche' il surrogate label-preserving non preserva davvero il label-set.
tools/data/reports/agent_20260516_0720.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate
tools/data/reports/agent_20260516_0720.md:21:- `why`: il ciclo resta sul perimetro vivo 8 GUE / 5 Poisson e ripara il confine come terzo incluso operativo, separando two-reader boundary, graph-only lift e residuo thresholded.
tools/data/reports/agent_20260516_0720.md:25:- **Baseline noto piu vicino**: Brody / Berry-Robnik / Rosenzweig-Porter per crossover GUE-Poisson; kNN stability, label shuffle e degree-preserving rewiring per residui grafo.
tools/data/reports/agent_20260516_0720.md:27:- **Cosa resta Lab-specific**: il contratto operativo che vieta di sommare graph-only al boundary a due lettori e vieta di chiamare residuo una riga senza soglia.
tools/data/reports/agent_20260516_0720.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = 1`; `positive_lift_unthresholded = 2`; `thresholded_graph_specific_residue = 0`; `graph_baseline_audit = label_shuffle + degree_preserving_rewire + raw-count threshold`.
tools/data/reports/agent_20260516_0720.md:39:- **Punto fisico di ritorno**: finestre finite in Rosenzweig-Porter, Anderson 3D o Aubry-Andre in cui un graph-only bridge deve essere trattato come candidato finche non supera null topologici.
tools/data/reports/agent_20260516_0720.md:40:- **Relazione nuova**: il boundary fisico non e un lift positivo; e una riga con lettore classico, lettore grafico e separazione statistica da null del grafo.
tools/data/reports/agent_20260516_0720.md:45:- **Script**: `tools/exp_boundary_graph_residue_threshold_audit.py`.
tools/data/reports/agent_20260516_0720.md:46:- **Input**: `tools/data/boundary_graph_null_audit_20260516_0330.json`.
tools/data/reports/agent_20260516_0720.md:47:- **Run**: `python tools/exp_boundary_graph_residue_threshold_audit.py --input tools/data/boundary_graph_null_audit_20260516_0330.json --out tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json --min-lift 0.10 --alpha 0.05`.
tools/data/reports/agent_20260516_0720.md:55:| numeri_primi:cycle_3 | 6/6 | 263/384 | 0.103216 | 362/384 | 0.701882 | 0.057292 | two_reader_boundary_confirmed, not graph-only |
tools/data/reports/agent_20260516_0720.md:66:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260516_0720.md:77:Il report 03:30 viene riparato nel nodo regressivo: `graph_specific_residue_after_nulls = 2` diventa `positive_lift_unthresholded = 2` e `thresholded_graph_specific_residue = 0`. Il boundary a due lettori resta una sola riga (`numeri_primi:cycle_3`). Le righe graph-only restano audit da stressare in sistemi controllati, non residui strutturali.
tools/data/reports/agent_20260516_0720.md:86:Il prossimo ciclo non deve rafforzare il perimetro composito 13 righe. Deve portare il contratto raw-count threshold su un sistema fisico controllato, con denominatori maggiori: Anderson 3D sparse/L piu grande o Rosenzweig-Porter con finestre row-aligned, richiedendo p-value e soglia prima della parola `residuo`.
tools/data/reports/agent_20260516_0720.md:89:ssp_value: yes. `tools/exp_boundary_graph_residue_threshold_audit.py` e un filtro riusabile per impedire promozioni graph-only senza count, soglia e p-value.
tools/data/reports/agent_20260516_0720.md:94:- `python -m py_compile tools/exp_boundary_graph_residue_threshold_audit.py` completato.
tools/data/reports/agent_20260516_0720.md:95:- `python tools/exp_boundary_graph_residue_threshold_audit.py --input tools/data/boundary_graph_null_audit_20260516_0330.json --out tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json --min-lift 0.10 --alpha 0.05` completato.
tools/data/reports/agent_20260516_0720.md:101:- Script: `tools/exp_boundary_graph_residue_threshold_audit.py`
tools/data/reports/agent_20260516_0720.md:102:- Data: `tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json`
tools/prime_mod6_pipeline_closeout.py:46:        action = "archive_as_failed_candidate"
tools/prime_mod6_pipeline_closeout.py:107:        "boundary": [
tools/exp_vc_generator_class_direction_audit.py:203:        "accepted_candidates": summarize_rows(accepted_event_rows),
tools/exp_vc_generator_class_direction_audit.py:223:        "accepted_candidate_vc_trends": output["accepted_candidates"]["vc_trends"],
tools/exp_vc_generator_class_direction_audit.py:224:        "accepted_fit_ready": output["accepted_candidates"]["fit_ready"],
tools/data/reports/agent_20260509_0330.md:8:**observable_contract**: claim=la forma locale della curva `r(V)` puo' sostituire il primo crossing su griglia come portatore del boundary Sturmian-Harper; observable=`vc_interp`, `slope_at_cross`, `crossing_count`, `r_span`; operator=curva `r(V)` su griglia 0.5..3.0 step 0.01 con crossing lineare interpolato per `r_threshold={0.48,0.50,0.52}`; generator=Sturmian metallici phi/silver/bronze e random bilanciato a densita phi; denominator=N={89,144,233,377,610}, phase={0,0.25,0.5,0.75}, 3 random trial per condizione, seed=202605090330; not_tested=gap_ratio, label-set Sturmian, fit power-law asintotico, domini reali GUE/Poisson, prova formale di monotonia.
tools/data/reports/agent_20260509_0330.md:14:- **Operatori laterali scelti**: filtrazione, boundary operator, curve-shape. La filtrazione scorre il parametro `V`; il boundary operator nomina `r(V)=threshold`; curve-shape attacca il nodo regressivo del cycle precedente, dove la griglia decideva al posto del confine.
tools/data/reports/agent_20260509_0330.md:18:  - **CE-0001 / KSAR**: reiterazione del kernel 21:40: stesso boundary, un solo nodo cambiato, da prima griglia a curva interpolata.
tools/data/reports/agent_20260509_0330.md:20:- **Proto-ipotesi**: se il portatore del boundary e' la forma della curva `r(V)`, allora i metallici devono avere crossing unico e ordinato sotto variazione di fase/soglia, mentre il random bilanciato deve perdere questa struttura; se phi resta solo un anticipo mediano con contro-casi, il risultato e' un vincolo sul boundary observable, non una legge phi.
tools/data/reports/agent_20260509_0330.md:24:> Nel perimetro Sturmian-Harper testato, la curva interpolata `r(V)` conserva un boundary metallico distinguibile dal random e chiarisce se `V_c(phi)` e' portatore strutturale o solo diagnostico phase-sensitive.
tools/data/reports/agent_20260509_0330.md:27:Il passaggio da primo crossing su griglia a crossing interpolato fa emergere una forma stabile del boundary, oppure conferma che `V_c` resta osservabile diagnostico senza generare un claim phi-specific?
tools/data/reports/agent_20260509_0330.md:41:- Contratto osservabile-operatore: `gap_ratio`, label-set, supertile boundary e fit power-law non vengono testati in questo ciclo.
tools/data/reports/agent_20260509_0330.md:102:**CONSTRAINT on TENS_SCALE_TRASCENDENZA_LIMITE**: nel perimetro Sturmian-Harper `N={89,144,233,377,610}`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, il crossing interpolato conferma che il boundary metallico ha una forma di curva: crossing unico e discesa ordinata da repulsione a indipendenza. Non conferma `V_c(phi)` come portatore phi-specific hard: phi anticipa i controlli in mediana e in `42/60` matched, ma `18/60` contro-casi impediscono claim di separazione completa.
tools/data/reports/agent_20260509_0330.md:104:La formulazione valida e': `r(V)` e' un boundary map utile per distinguere generatore Sturmian da random bilanciato; `V_c` e' coordinata diagnostica phase/threshold-sensitive, non legge di scala e non generatore di claim phi-specific nel perimetro testato.
tools/data/reports/agent_20260509_0330.md:107:- **Due radici**: crossing discreto di griglia . curva interpolata del boundary.
tools/data/reports/agent_20260509_0330.md:110:- **Campo di possibilita**: qui diventa possibile usare `r(V)` come boundary map contro null random; qui diventa non-possibile promuovere `V_c(phi)` a legge di scala o firma esclusiva senza denominatore atomico.
tools/data/reports/agent_20260509_0330.md:121:- **L5 re-discovery vs discovery**: tight-binding Sturmian e r-statistic sono standard; il finding e' il vincolo sul boundary observable e il passaggio da grid gate a curve-map.
tools/data/reports/agent_20260514_1640.md:8:**observable_contract**: claim=il tester L8 16:31 si rafforza solo se resta leggibile fra classi Wigner-Dyson distinte e fra due taglie; observable=`component_state(SR,L1,triple_var)` con `SR` = adjacent gap ratio canonico piu contrasto diretto GUE-GOE; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GOE reale simmetrico, GUE hermitiano complesso, Anderson 1D `W=6`, null Poisson span-matched; denominator=2 taglie `N={128,192}`, 64 repliche per taglia e dominio, 384 eventi trace, finestra centrale 0.5; non_possible=promuovere il pattern a legge fisica nuova o usare Anderson 1D come transizione universale; not_tested=dati sperimentali, unfolding dedicato, Anderson 3D, many-body localization, limite asintotico.
tools/data/reports/agent_20260514_1640.md:58:- **Adjacent gap ratio**: `SR` canonico = media di `min(g_i,g_{i+1})/max(g_i,g_{i+1})`, confronto standard senza unfolding fine.
tools/data/reports/agent_20260514_1640.md:102:- **Verificato / operational boundary**: Anderson `W=6` assorbe `SR` in entrambe le taglie (`p=0.930428` a `N=128`, `p=0.824118` a `N=192`) mentre `triple_var` resta active.
tools/data/reports/agent_20260514_1640.md:104:- **Non verificato**: dati sperimentali, unfolding dedicato, classi GSE, Anderson 3D, many-body localization, limite asintotico.
tools/data/reports/agent_20260504_0901.md:9:> The previous run found two orthogonal visible layers in prime gap memory: Layer 1 (pairs: SR, L1) and Layer 2 (triples: SR2, triple_var). The crossover under partial shuffle shows a phase transition in the (SR, L1) plane. META question: does Layer 2 transition at a different critical alpha than Layer 1? If yes, the boundary has genuine 3D depth. If no, the two layers are projections of a single phase transition.
tools/data/reports/agent_20260504_0901.md:57:1. **The two Markov layers are coupled at the boundary.** For primes, the critical alpha is identical across all 4 observables (0.334). For GUE, the difference is 0.024 (within the alpha step resolution of 0.047). The partial shuffle destroys pair-statistics and triple-statistics at the same rate. The boundary is a single phase transition, not two independent ones.
tools/data/reports/agent_20260504_0901.md:69:- **L3 (no silent patching)**: This does NOT falsify the two-layer finding. The layers remain real as a decomposition of Markov order sensitivity. What's constrained is their independence at the boundary.
tools/data/reports/agent_20260504_0901.md:75:**CONSTRAINT on BOUNDARY + DIPOLAR_ORDERING**: The two Markov layers (pairs → plane, triples → depth) are coupled at the partial-shuffle boundary. The boundary is a single phase transition with one critical alpha (~0.33 for 50% retention). The two-layer decomposition describes WHAT is measured (which observables are sensitive to which Markov order), not HOW the ordering is destroyed. The boundary remains 2D in the shuffle parameter.
tools/data/reports/agent_20260504_0901.md:83:- **Invariante di passaggio**: The critical alpha (0.334) survives across layers and across structured sequences (primes and GUE). The boundary location is invariant to which layer you observe through.
tools/data/reports/agent_20260504_0901.md:84:- **Campo di possibilita**: Possible — search for selective perturbations that decouple the layers (pair-preserving shuffle, triple-preserving shuffle). Not possible — claim the boundary has independent depth dimensions from partial shuffle alone.
tools/data/reports/agent_20260504_0901.md:88:- Script: `tools/exp_3d_boundary_layers.py` (reusable, parameterized)
tools/data/reports/agent_20260504_0901.md:89:- Data: `tools/data/3d_boundary_layers.json`
tools/data/reports/agent_20260507_0330.md:15:> If the GUE-Poisson boundary is simulated directly by controlled mixtures,
tools/data/reports/agent_20260507_0330.md:20:Tool created: `tools/exp_boundary_mixture_gate.py`
tools/data/reports/agent_20260507_0330.md:23:- domains: synthetic unfolded GUE spacings, iid Poisson spacings, and mixtures;
tools/data/reports/agent_20260507_0330.md:74:1. **The clean two-class boundary fails under denominator gating.** Pure GUE and pure Poisson are separable in all-observable space, but there are no observables stable at both endpoints under the declared gate. The Poisson pole is a weak-denominator pole: classification can still place it, but retention-normalized structural claims cannot use it as if it had the same denominator support as GUE.
tools/data/reports/agent_20260507_0330.md:76:2. **The operational boundary is a layer, not a line, in this synthetic perimeter.** Both the main run and the seed check isolate beta 0.3-0.4 as the ambiguous layer. In the main run the nearest-centroid margin falls to `0.070-0.083`, while ambiguous fraction rises to `0.812-0.875`. This is the measured form of the "third included" here: not a metaphysical third class, but a beta region where two-class assignment and denominator support are both unstable.
tools/data/reports/agent_20260507_0330.md:78:3. **Denominator collapse precedes full Poisson classification.** Stable-observable count drops from about `3.3` at beta 0.1-0.2 to `2.5` at beta 0.3 and `1.625` at beta 0.4. By beta 0.5 the classifier is fully Poisson-labeled, but only `0.750/5` observables remain stable on average. The loss of denominator support is therefore part of the boundary phenomenon, not an after-the-fact nuisance.
tools/data/reports/agent_20260507_0330.md:80:4. **The previous META constraints are extended, not replaced.** The 19:41 and 19:55 constraints still hold. This run adds that a boundary claim also needs a layer map: endpoint separability alone can hide the fact that one endpoint has no original-vs-shuffle denominator and that the transition region carries the actual instability.
tools/data/reports/agent_20260507_0330.md:83:**CONSTRAINT on META + BOUNDARY**: GUE/Poisson boundary claims must report:
tools/data/reports/agent_20260507_0330.md:89:> In the synthetic mixture perimeter tested here, the GUE-Poisson boundary is an operational layer at beta 0.3-0.4: classification is ambiguous there, and denominator support collapses across the transition. The Poisson endpoint remains classifiable but denominator-weak, so it cannot serve as a symmetric structural pole for gated retention claims.
tools/data/reports/agent_20260507_0330.md:101:- **L3 no silent patching**: the claim is explicitly changed from "8 GUE, 5 Poisson boundary" to a synthetic mixture calibration. This does not assert the same layer for primes or all real domains.
tools/data/reports/agent_20260507_0330.md:106:- Script: `tools/exp_boundary_mixture_gate.py`
tools/data/reports/agent_20260507_0330.md:107:- Main data: `tools/data/boundary_mixture_gate_20260507_0330.json`
tools/data/reports/agent_20260507_0330.md:108:- Seed check: `tools/data/boundary_mixture_gate_20260507_0330_seedcheck.json`
tools/data/reports/agent_20260509_1548.md:8:**observable_contract**: claim=i tre `blank_thin_support` vanno falsificati contro il blank medio `numeri_primi` prima di promuoverli a specie autonoma; observable=telemetria row-aligned del subset `support_without_beta_blank`; operator=`exp_boundary_blank_thin_support_audit.py`; generator=`boundary_row_aligned_nonexact_audit_20260509_1538`; denominator=4 righe `support_without_beta_blank`, di cui 3 thin e 1 medium control; non_possible=chiamare il blank sottile specie autonoma se tutte le righe thin sono spiegate da denominatore corto; not_tested=estensione nuova dei tre domini short, nuova griglia beta, nuovi null, fit `V_c`.
tools/data/reports/agent_20260509_1548.md:14:- **Piano superiore**: sheaf locale del boundary. La sezione beta e' vuota su tutte e quattro le righe; il discriminante diventa la qualita' del supporto e del denominatore.
tools/data/reports/agent_20260509_1548.md:15:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, filtrazione per denominatore. Servono a separare stato beta invariato da supporto misurabile.
tools/data/reports/agent_20260509_1548.md:30:I tre blank sottili sono fallimenti autonomi del boundary, oppure righe con supporto insufficiente perche' corte?
tools/data/reports/agent_20260509_1548.md:33:- Nuovo strumento: `tools/exp_boundary_blank_thin_support_audit.py`.
tools/data/reports/agent_20260509_1548.md:34:- Input: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1548.md:35:- Output: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:114:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, report `agent_20260509_1538.md`, JSON `boundary_row_aligned_nonexact_audit_20260509_1538.json`, script `tools/exp_boundary_blank_thin_support_audit.py`, output `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:125:- Verifica script: `python -m py_compile tools/exp_boundary_blank_thin_support_audit.py`.
tools/data/reports/agent_20260509_1548.md:126:- Run valido: `python tools/exp_boundary_blank_thin_support_audit.py --input tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json --out tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:131:- Script nuovo: `tools/exp_boundary_blank_thin_support_audit.py`
tools/data/reports/agent_20260509_1548.md:132:- Data: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`
tools/data/reports/agent_20260508_0011.md:16:- **Scope**: 200,000 prime gaps (unfolded by local mean, kernel=100), GUE eigenvalue spacings (beta=2, matrix size ~2400, unfolded), Poisson (exponential i.i.d.)
tools/data/reports/agent_20260508_0011.md:71:**CONSTRAINT on DUALITA_DIPOLARE_VS_ILLUSORIA / BOUNDARY**: The boundary between dipolar and illusory duality in prime gaps is not a location but a trajectory. The duality contrast (real-vs-shuffle) weakens as N^{-0.11} for SR and N^{-0.18} for L1, approaching Poisson asymptotically. GUE has alpha >= 0.5 (no weakening). The discriminator between primes and GUE is the scaling exponent alpha, not the observable value at any fixed scale.
tools/data/reports/agent_20260508_2140.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, mobility edge. Il boundary operator nomina il cambio `<r>=0.5`; la filtrazione scorre `V`; mobility edge entra come lettura minima di transizione spettrale senza imporre un esponente.
tools/data/reports/agent_20260508_2140.md:79:La formulazione corretta e': `V_c` e' un boundary observable discreto e phase-sensitive; non sostiene fit power-law ne' claim phi-specific senza un denominatore che separi griglia, fase e soglia.
tools/data/reports/agent_20260508_2140.md:85:- **Campo di possibilita**: qui diventa possibile sostituire i fit power-law di `V_c` con boundary maps fase-griglia-soglia; qui diventa non-possibile promuovere la ripetizione phase-0 di phi a legge di scala.
tools/data/reports/agent_20260508_2140.md:96:- **L5 re-discovery vs discovery**: verdict `CONSTRAINT`; lo strumento apre boundary map, non discovery fisica nuova.
tools/data/reports/agent_20260508_1947.md:8:**observable_contract**: claim=se il boundary simbolico del supertile esiste nell'osservabile, aligned supertile deve battere il misaligned same-length non solo nel label-set ma nella geometria IDS/rank/errore dei label core; observable=all-core hits, delta IDS, delta indice spettrale normalizzato, errore label e spacing ratio dei core label rispetto al reference phi; operator=Hamiltoniana tight-binding V=1, label IDS con reader theta=1/phi, confronto per label contro reference stesso N/phase/threshold; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}; not_tested=gap_ratio, GUE/Poisson real domains, soglie 1.75/2.25, parsing simbolico esatto di ogni supertile.
tools/data/reports/agent_20260508_1947.md:12:- **Dipolo / punto-zero**: boundary simbolico del supertile . geometria effettiva dei gap; punto-zero = il label core prima che venga letto come membership di set o come posizione nello spettro.
tools/data/reports/agent_20260508_1947.md:14:- **Operatori laterali scelti**: boundary operator e indice. Boundary operator entra perche' il cycle precedente ha falsificato il bordo come set; indice entra perche' il nuovo osservabile deve misurare dove cade il gap, non solo quale label porta.
tools/data/reports/agent_20260508_1947.md:15:- **Proto-ipotesi**: se il core alto vive nel boundary reale, allora `supertile_shuffle` conserva posizione IDS e rank dei label core meglio di `same_length_contiguous_shuffle`. Se non lo fa, il boundary esatto non e' il portatore osservato in questo perimetro.
tools/data/reports/agent_20260508_1947.md:19:> Il boundary simbolico non appare nel solo label-set, ma appare nella geometria dei gap core: aligned supertile deve avere delta IDS/rank o errore label migliore del misaligned same-length.
tools/data/reports/agent_20260508_1947.md:72:4. **Inferito dal perimetro: il portatore osservato non e' il boundary simbolico.** Il portatore resta ordine interno leggibile piu' multiset di lunghezze Fibonacci-like. Il boundary esatto del supertile non compare ne' come membership di set, ne' come posizione IDS, ne' come errore label.
tools/data/reports/agent_20260508_1947.md:75:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro `N={377,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={2.0}`, `trials=5`, `top_k=12`, `|n|<=34`, `supertile_order={8,9,10,11}`, il boundary simbolico del supertile non e' rilevato dal gate posizione/errore. `supertile_shuffle` e `same_length_contiguous_shuffle` conservano la stessa geometria mediana dei core label (`IDS delta=0`, `index delta/N=0`), con all-high quasi identico (`116/160` vs `115/160`). La rottura resta `same_count_internal_shuffle`, quindi il nodo regressivo e' l'ordine interno del chunk, non il confine esatto.
tools/data/reports/agent_20260508_1947.md:77:La formulazione valida e': il core phi alto misura chiusura congiunta di ordine interno e lunghezze Fibonacci-like; non misura ancora il boundary simbolico del supertile. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_1947.md:80:- **Due radici**: boundary simbolico . ordine interno misurabile.
tools/data/reports/agent_20260508_1947.md:83:- **Campo di possibilita**: qui diventa non-possibile cercare il boundary del supertile con label-set, IDS rank o errore label sullo stesso perimetro. Qui diventa possibile spostare il test dal boundary di chunk al parsing simbolico della parola: return words, fattori speciali, palindromi, o difetti di sostituzione.
tools/data/reports/agent_20260508_1947.md:86:Il prossimo gate deve lasciare il chunk e misurare grammatica simbolica nativa: confrontare fattori speciali, return words e palindromic defect dei segmenti che portano core alto contro segmenti che non lo portano. Se il boundary esiste nel generatore, deve apparire nella grammatica locale della parola, non nella posizione spettrale dei gap gia' selezionati.
tools/data/reports/agent_20260508_1947.md:91:- **L3 no silent patching**: l'ipotesi "il boundary appare nella geometria" cade; non viene salvata cambiando claim.
tools/data/reports/agent_20260508_1947.md:93:- **L5 re-discovery**: gap labeling Sturmian/Fibonacci resta baseline nota; il finding e' negativo sul boundary simbolico nello specifico gate posizione/errore.
tools/data/reports/agent_20260501_0931.md:9:> "8 domains GUE, 5 Poisson — the boundary is the third included operational" (BOUNDARY).
tools/data/reports/agent_20260501_0931.md:63:4. **The boundary IS a thing (A9 operational).** The crossover is not a continuous interpolation between two regimes. There is a discrete transition point where the ordering signal vanishes. This point (alpha ~ 0.70) is the boundary — the third included between ordered and disordered. Below it, direction is locked. Above it, no coherent direction exists (post-transition magnitudes 0.02-0.03 are noise from finite-sample effects in the shuffle baseline).
tools/data/reports/agent_20260501_0931.md:67:**CONFIRMED structure on BOUNDARY**: The GUE-Poisson transition in the dipolar plane has a phase transition (direction flip at magnitude zero-crossing, alpha in [0.65, 0.75]). The boundary is a discrete structural feature, not an interpolation.
tools/data/reports/agent_20260501_0931.md:69:**CONSTRAINT on DIPOLAR_ORDERING**: Prime magnitude matches the GUE crossover at alpha ~ 0.45 (z=1.1), but the direction is 8.7 degrees off (32 sigma). Primes are not "partially shuffled GUE" — they share the quantity of ordering but differ in quality. Perimeter: this comparison uses partial-shuffle as the crossover mechanism. Other mechanisms (e.g., Rosenzweig-Porter, Brody) might yield different crossover topologies.
tools/data/reports/agent_20260501_0931.md:71:**L5 note (re-discovery check)**: The GUE-Poisson transition is well-studied (Rosenzweig-Porter model, Brody distribution, Anderson localization). The specific observation that the DIPOLAR DIRECTION is an invariant of the ordered regime while the magnitude decays linearly appears novel in this framework. Default hypothesis: direction invariance likely follows from the linearity of SR and L1 as functions of ordering fraction. The phase transition at the zero-crossing is structural — it marks where the ordering signal changes sign, not just magnitude.
tools/exp_two_channel_boundary.py:3:exp_two_channel_boundary.py — Two-Channel Boundary Separation
tools/exp_two_channel_boundary.py:24:  If the channels have different scale-decay profiles, the boundary between
tools/exp_two_channel_boundary.py:28:    python tools/exp_two_channel_boundary.py [--n_primes N] [--window W] [--n_surrogates S]
tools/exp_two_channel_boundary.py:302:    out_path = Path('tools/data/two_channel_boundary.json')
tools/exp_two_channel_boundary.py:304:        'experiment': 'two_channel_boundary',
tools/data/reports/agent_20260429_1041.md:123:- **BOUNDARY constrained**: the GUE/Poisson boundary (Brody flow) only describes layers 1-2. Layer 3 (algebraic) is invisible to Brody beta. Any complete model of the boundary must include the algebraic floor.
tools/data/reports/agent_20260408_0330.md:19:- **Null baselines**: (a) 20 shuffled surrogates (same distribution, no order), (b) 10 Z/6Z-confined Cramer surrogates (candidates at 6k+/-1, survival ~3/ln(n))
tools/data/reports/agent_20260408_0330.md:83:4. **Connection to Hardy-Littlewood.** The Hardy-Littlewood conjecture predicts pair correlations between primes at distance d: the singular series S(d) ~ 2*C2 * product over odd primes p|d of (p-1)/(p-2). The gap ACF at lag k is a derived quantity — it sums over all gap patterns involving k consecutive primes. The 1/k decay may be a consequence of the singular series averaged over the gap structure, but this connection is NOT proven here. It's a candidate mechanism.
tools/data/reports/agent_20260406_1030.md:7:> The boundary between GUE and Poisson is "the third included" (A9). Is this boundary populated by multiple domains, or are primes special?
tools/data/reports/agent_20260406_1030.md:10:Do multiple domains occupy the spectral boundary, or is the prime niche unique? If Berry-Robnik mixtures fill the same <r> range, what DISCRIMINATES primes from mixtures?
tools/data/reports/agent_20260406_1030.md:69:2. **The spectral landscape is 2D, not 1D.** <r> alone classifies 4 zones (Poisson/boundary/GOE-GUE/rigid). Adding acf1 splits the boundary zone: mixtures (acf1~0) vs intrinsically ordered (acf1<<0). Primes are the ONLY tested domain at intermediate position on BOTH axes.
tools/data/reports/agent_20260406_1030.md:73:4. **The "third included" is confirmed but refined.** The boundary is not an <r> value — it's a REGION in (<r>, acf1) space. Mixtures fill this region horizontally (any <r>, acf1=0). Primes cut through it diagonally (intermediate <r> AND intermediate acf1). The third included is not a point on a line — it's a trajectory through a plane.
tools/data/reports/agent_20260406_1030.md:75:5. **Quadratic residues are GUE-like.** <r>=0.613, confirming Katz-Sarnak for quadratic L-functions. But their acf1=-0.046 is MUCH weaker than GUE (-0.28), suggesting incomplete level repulsion — another boundary domain on a different axis.
tools/data/reports/agent_20260406_1030.md:80:New tension: **SPECTRAL_NICHE** — primes are the only known domain at (intermediate <r>, significantly negative acf1). The 2D classification opens: are there other intrinsically-ordered boundary domains?
tools/lab_autopsy.py:48:    candidates = []
tools/lab_autopsy.py:61:                                candidates.append((delta, f))
tools/lab_autopsy.py:67:    if not candidates:
tools/lab_autopsy.py:69:    return sorted(candidates)[0][1]
tools/lab_autopsy.py:300:            run_candidates = sorted(
tools/lab_autopsy.py:305:            raw_log = run_candidates[0] if run_candidates else REPORTS / f"agent_{ts}_raw.log"
tools/data/reports/agent_20260515_1758.md:5:**verdict**: CONSTRAINT - nel potenziale Aubry-Andre coseno `phi` non chiude un boundary privilegiato; la finestra binaria 17:45 dipende dalla grammatica Sturmian, non dal solo irrazionale phi.  
tools/data/reports/agent_20260515_1758.md:8:**observable_contract**: claim=`phi` resta terzo incluso fisico anche quando il potenziale binario viene sostituito dal coseno Aubry-Andre canonico; observable=`spacing_r` + `mean_ipr` con controllo di distinzione da silver/bronze; operator=`tools/exp_aubry_cosine_boundary_counter_gate.py`; generator=Hamiltoniana tight-binding 1D con potenziale coseno per beta phi/silver/bronze, periodico beta=1/2 e random onsite uniforme; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..3.00 step 0.25, random_trials=6; non_possible=promuovere phi come boundary fisico se non si separa dai controlli irrazionali con spacing e localizzazione insieme; not_tested=limite asintotico, disordine correlato sperimentale, classi GUE/Poisson universali dirette.
tools/data/reports/agent_20260515_1758.md:17:- **Proto-ipotesi**: se `phi` e' boundary fisico e non solo effetto della codifica binaria, nel coseno Aubry-Andre deve restare insieme tra periodico e random e deve separarsi da silver/bronze su spacing e localizzazione.
tools/data/reports/agent_20260515_1758.md:24:- `not_drift`: non riapre prime/mod6, non usa selector legacy, non rifitta `V_c`; attacca il nodo regressivo lasciato dal ciclo 17:45: forma binaria del potenziale vs boundary fisico.
tools/data/reports/agent_20260515_1758.md:36:- **Punto fisico sorgente**: transizione spettrale/localizzazione in reticoli quasi-periodici, usata come ritorno fisico del boundary GUE/Poisson.
tools/data/reports/agent_20260515_1758.md:47:- `python -m py_compile tools/exp_aubry_cosine_boundary_counter_gate.py` completato.
tools/data/reports/agent_20260515_1758.md:48:- Run: `python tools/exp_aubry_cosine_boundary_counter_gate.py --out tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json`.
tools/data/reports/agent_20260515_1758.md:51:- Gate: `phi_joint_boundary = spacing_r_between and mean_ipr_between and separated_from_random and phi_distinct_from_irrational_controls`.
tools/data/reports/agent_20260515_1758.md:52:- La misura serve la combo perche' rende non-possibile attribuire il boundary a phi se silver/bronze seguono la stessa classe fisica.
tools/data/reports/agent_20260515_1758.md:72:1. **Verificato**: `phi_joint_boundary_v=[]`. Nessun valore di V chiude insieme intermedieta, separazione dal random e distinzione dai controlli irrazionali.
tools/data/reports/agent_20260515_1758.md:73:2. **Verificato**: da V=0.75 a V=1.75 `phi` e' tra periodico e random sia in `spacing_r` sia in `mean_ipr`, ma resta quasi coincidente con silver/bronze; il boundary e' classe quasi-periodica, non privilegio phi.
tools/data/reports/agent_20260515_1758.md:75:4. **Verificato**: a V=2.25 e V=2.50 `phi` si distingue dai controlli, ma non e' piu' boundary congiunto: `mean_ipr_between=false` e a V=2.25 cade anche la separazione dal random.
tools/data/reports/agent_20260515_1758.md:82:Il contro-perimetro coseno falsifica la promozione `phi` come terzo incluso fisico autonomo. Nel perimetro misurato il boundary congiunto non sopravvive quando la grammatica binaria viene rimossa. La formulazione valida diventa: `phi` e' candidato boundary nel potenziale binario Sturmian 17:45; nel coseno Aubry-Andre il contenuto si sposta alla classe quasi-periodica e alla transizione di localizzazione, non a phi come generatore privilegiato.
tools/data/reports/agent_20260515_1758.md:88:- **Invariante di passaggio**: ogni ritorno fisico del boundary deve dichiarare forma del potenziale, controlli irrazionali e gate joint spacing/localizzazione.
tools/data/reports/agent_20260515_1758.md:89:- **Campo di possibilita**: possibile = separare boundary di grammatica da boundary di classe fisica; non-possibile = promuovere `phi` come ritorno fisico se silver/bronze condividono la stessa risposta.
tools/data/reports/agent_20260515_1758.md:93:Il prossimo ciclo non deve allargare `phi` nel coseno. Deve isolare il residuo binario: stessa Hamiltoniana, stesso denominatore, ma ablazione della grammatica Sturmian tramite surrogate che preservano densita, autocorrelazione corta e spettro del potenziale. Se la finestra V=0.50..1.25 sopravvive solo alla grammatica completa, il finding e' `boundary-as-grammar`; se sopravvive a surrogate piu deboli, il finding diventa classe di correlazione del potenziale.
tools/data/reports/agent_20260515_1758.md:97:ssp_value: yes. Lo script e' un counter-gate riusabile per impedire che demo o visualizzazioni del boundary promuovano `phi` senza controlli irrazionali nel modello fisico scelto.
tools/data/reports/agent_20260515_1758.md:108:- `tools/exp_aubry_cosine_boundary_counter_gate.py`
tools/data/reports/agent_20260515_1758.md:109:- `tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json`
tools/data/reports/agent_20260505_0330.md:67:- **L5 re-discovery**: PCA/rango effettivo sono strumenti classici di ridondanza statistica. Non taggo NEW; il contributo e' il vincolo operativo sul perimetro D-ND Markov/boundary.
tools/data/reports/agent_20260515_1915.md:5:**verdict**: CONSTRAINT - il boundary a due lettori sopravvive come frequenza composita, non come lista fissa di righe del gate 18:55.
tools/data/reports/agent_20260515_1915.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate; classical audit coordinates joined
tools/data/reports/agent_20260515_1915.md:8:**observable_contract**: claim=una riga boundary a due lettori e' operativa solo se lo stato graph bridge sopravvive a perturbazioni del lettore e resta auditato dal baseline classico; observable=frequenza graph bridge unita a stato Brody/Berry-Robnik-like; operator=perturbazione parametrica del grafo kNN con join classico row-aligned; generator=boundary_graph_curvature_gate sul denominatore BOUNDARY 13 righe; denominator=13 righe, 8 GUE e 5 Poisson, ripetute su griglia di 27 run; non_possible=stable Lab bridge se la frequenza bridge collassa sotto perturbazione k/n_gaps/seed; not_tested=Hamiltoniane fisiche nuove, unfolding alternativo, scaling asintotico.
tools/data/reports/agent_20260515_1915.md:14:- **Proto-ipotesi**: il terzo incluso operativo non e' la lista dei nodi `third_included_candidate` di un run. E' la classe composita che resta dopo perturbazione del lettore grafico e audit classico.
tools/data/reports/agent_20260515_1915.md:31:- **Baseline noto piu' vicino**: Brody distribution, Berry-Robnik-like mixture e famiglia Rosenzweig-Porter come riferimento di crossover Hamiltoniano non eseguito.
tools/data/reports/agent_20260515_1915.md:38:> Nel perimetro 8/5, il terzo incluso operativo e' una frequenza composita tra ponte grafico perturbato e audit classico; una singola esecuzione del grafo non basta a nominare il boundary.
tools/data/reports/agent_20260515_1915.md:41:I nodi ponte GUE/Poisson sopravvivono a perturbazioni del lettore, oppure il boundary del 18:55 era una soglia locale?
tools/data/reports/agent_20260515_1915.md:46:- **Punto fisico di ritorno**: in finestre sperimentali finite, chiamare boundary solo le finestre che hanno stabilita' grafica e audit classico dichiarato; le righe endpoint-stable del grafo diventano candidate da falsificare con Hamiltoniane fisiche.
tools/data/reports/agent_20260515_1915.md:47:- **Osservabile/test fisico possibile**: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre con finestre energetiche; misurare `graph_bridge_frequency` e stato Brody/Berry-Robnik sulla stessa riga.
tools/data/reports/agent_20260515_1915.md:48:- **Se fallisce**: se le frequenze graph-only spariscono in un sistema controllato, il residuo Lab era composizione del perimetro 13 righe, non boundary fisico.
tools/data/reports/agent_20260515_1915.md:51:- **Script**: `tools/exp_boundary_bridge_stability_audit.py`.
tools/data/reports/agent_20260515_1915.md:52:- **Input graph/classic**: `tools/data/boundary_denominator_prescan_full_20260509_1500.json` + `tools/data/boundary_classical_crossover_audit_20260515_1904.json`.
tools/data/reports/agent_20260515_1915.md:53:- **Run**: `python tools/exp_boundary_bridge_stability_audit.py --out tools/data/boundary_bridge_stability_audit_20260515_1915.json`.
tools/data/reports/agent_20260515_1915.md:57:- **Contratto osservabile-operatore**: il ciclo testa stabilita' del lettore grafico unita al baseline classico; non testa V_c, denominatori Sturmian, Hamiltoniane Rosenzweig-Porter reali o unfolding fisico alternativo.
tools/data/reports/agent_20260515_1915.md:97:4. Verificato: `zeta_zeros` e `random_matrix` migrano da classic-only a stable graph bridge quando il lettore e' perturbato. Il gate 18:55 era una sezione, non il boundary intero.
tools/data/reports/agent_20260515_1915.md:104:Il boundary trasferisce come gate a frequenza composita. La parte Lab-specific sopravvive nei tre stable graph-only bridge; il confine non si chiude nella lista 18:55 e non si riduce a Brody/Berry-Robnik.
tools/data/reports/agent_20260515_1915.md:113:Il prossimo ciclo utile porta il gate composito su un sistema fisico controllato: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre. Il target non e' aumentare metriche; e' chiedere se `stable_graph_bridge+graph_only_bridge` sopravvive fuori dal perimetro composito del Lab.
tools/data/reports/agent_20260515_1915.md:121:- Primo run dello script con ricostruzione ripetuta dello spacing troppo lento; interrotto con `pkill`. Riparazione regressiva: cache delle righe in `tools/exp_boundary_bridge_stability_audit.py`, poi run completo 27/27.
tools/data/reports/agent_20260515_1915.md:122:- `python -m py_compile tools/exp_boundary_bridge_stability_audit.py` completato.
tools/data/reports/agent_20260515_1915.md:123:- `python tools/exp_boundary_bridge_stability_audit.py --out tools/data/boundary_bridge_stability_audit_20260515_1915.json` completato.
tools/data/reports/agent_20260515_1915.md:129:- Script: `tools/exp_boundary_bridge_stability_audit.py`
tools/data/reports/agent_20260515_1915.md:130:- Data: `tools/data/boundary_bridge_stability_audit_20260515_1915.json`
tools/exp_boundary_graph_curvature_gate.py:20:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_boundary_graph_curvature_gate.py:135:            state = "third_included_candidate"
tools/exp_boundary_graph_curvature_gate.py:150:                "boundary_state": state,
tools/exp_boundary_graph_curvature_gate.py:186:        "third_included_candidates": third_rows,
tools/exp_boundary_graph_curvature_gate.py:237:        "experiment": "boundary_graph_curvature_gate",
tools/exp_boundary_graph_curvature_gate.py:238:        "question": "Does the 8 GUE / 5 Poisson perimeter expose a graph boundary row instead of a clean two-class split?",
tools/exp_boundary_graph_curvature_gate.py:244:            "claim": "the boundary is operational when row geometry produces cross-label graph nodes with low centroid margin",
tools/exp_boundary_graph_curvature_gate.py:247:            "generator": "dnd_autoricerca row_spacings via semireal boundary transfer gate",
tools/exp_boundary_graph_curvature_gate.py:249:            "non_possible": "third-included boundary if all cross-label edges vanish or only high-margin class interiors cross",
tools/exp_boundary_graph_curvature_gate.py:255:            "third_included_candidate_count": len(geometry["third_included_candidates"]),
tools/exp_boundary_graph_curvature_gate.py:256:            "third_included_candidates": geometry["third_included_candidates"],
tools/exp_boundary_graph_curvature_gate.py:275:    print(f"third_included_candidates={geometry['third_included_candidates']}")
tools/exp_boundary_graph_curvature_gate.py:280:            f"state={row['boundary_state']}"
tools/exp_boundary_graph_curvature_gate.py:288:    parser.add_argument("--scope", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_boundary_graph_curvature_gate.py:294:    parser.add_argument("--out", default="tools/data/boundary_graph_curvature_gate_20260515_1855.json")
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0958.md:47:- **BOUNDARY**: The boundary between structural and tautological observables is now mapped. Mod-3 (algebraic) and magnitude channel (statistical) are on the structural side. Lag-1 and ordering delta-r are on the tautological side. This is a concrete instance of A9 (terzo incluso) — the boundary itself is the content.
tools/data/reports/agent_20260417_0803.md:101:2. **The crossover lag 6 is the dipolar-illusory boundary.** At this lag, the PNT density drift (+0.008/lag) overtakes the structural anti-correlation (-0.007/lag). Below lag 6: dipolar duality dominates (det=-1, genuine anti-correlation). Above lag 6: illusory duality dominates in raw data (det=+1, trend-induced positive correlation that masks the true structure).
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:16:- **Scope**: 17,984 primes (p < 200,000), unfolded via n(p) ~ p/ln(p)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:50:4. **The GUE/Poisson classification via r alone loses the scale information.** Primes at r = 0.469 look "40% of the way from Poisson to GUE." But at L=50 they look "95% of the way." The boundary (BOUNDARY tension) is not a point in β-space — it's a curve β(L) whose shape discriminates real structure from randomness.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:57:- **BOUNDARY**: The GUE/Poisson boundary is not a threshold in r-space. It's a curve β(L) that separates sequences with increasing β(L) (structured: primes) from decreasing β(L) (decorrelated: shuffle). The sign of dβ/dL is the boundary criterion.
tools/data/reports/agent_20260515_1705.md:14:- **Operatori laterali scelti**: boundary operator per separare residuo e promozione; graph cut per bloccare mtime/rami chiusi; nearest-known baseline per mantenere la relazione dentro consecutive-prime residue bias.
tools/data/reports/agent_20260510_0330.md:8:**observable_contract**: claim=le due righe residue beta-absent sono strutturali solo se `beta_absent_blank` persiste in finestre row-local da 1024 gap; observable=`window_state` + firma degli osservabili one-sided; operator=`exp_boundary_residual_beta_absent_audit.py`; generator=`numeri_primi` da `dnd_autoricerca.genera_segnale` e `random_matrix` da `gue_spacing_blocks`; denominator=2 righe aperte BOUNDARY, full row + 4 finestre row-local da 1024 gap; non_possible=classe residua unica se una riga recupera beta o perde supporto nelle finestre row-local; not_tested=griglia beta globale, fit `V_c`, validita' label sorgente GUE/Poisson.
tools/data/reports/agent_20260510_0330.md:15:- **Operatori laterali scelti**: boundary operator, chart locale, filtrazione. Il boundary operator separa supporto e beta; la chart locale testa la finestra senza rifare il mondo; la filtrazione conserva il denominatore row-aligned.
tools/data/reports/agent_20260510_0330.md:16:- **Contaminazione cognitiva**: CE-0019 usato come contratto combo prima della misura; CE-0022 usato come boundary operator + chart locale; KSAR usato come reiterazione sul deposito 15:32-18:39 senza ridisegnare il perimetro.
tools/data/reports/agent_20260510_0330.md:96:- Script: `tools/exp_boundary_residual_beta_absent_audit.py`
tools/data/reports/agent_20260510_0330.md:97:- Data: `tools/data/boundary_residual_beta_absent_audit_20260510_0330.json`
tools/data/reports/agent_20260515_1623.md:14:- **Operatori laterali scelti**: `boundary operator` to distinguish active direction from vault context; `graph cut` to separate live pointers from blocked branches; `proof trace vs output trace` to compare tool classifications against generated field state.
tools/data/reports/agent_20260508_1915.md:13:- **Piano superiore**: topologia assiomatica del contratto osservabile. Il boundary non si decide dal nome del mode, ma dal livello che sopravvive: congiunzione, singolo label, stabilita' 75%, errore IDS.
tools/data/reports/agent_20260508_1915.md:71:3. **Verificato: il controllo contiguo conserva piu' del supertile anche nel piano per-label.** `same_length_contiguous_shuffle` fa all-high `116/160` contro `108/160`, e per `3` fa `154/160` contro `128/160`. Il boundary esatto del supertile resta non discriminato dal label-set.
tools/data/reports/agent_20260508_1915.md:86:- **Campo di possibilita**: qui diventa possibile cercare il boundary nella geometria degli errori IDS e nella posizione dei gap; qui diventa non-possibile usare all-high, retention mediana e stable-label count come un solo osservabile.
tools/data/reports/agent_20260508_1915.md:89:Costruire il prossimo gate sul piano posizione/errore: per i label core, confrontare distribuzione IDS, rank dei gap selezionati ed errore label fra chunk aligned e misaligned. Il boundary reale deve spostare la geometria dei gap, non solo il set dei label.
tools/data/reports/agent_20260430_1946.md:19:- **Sources**: real primes (p > 10000, 50K gaps), GUE (500×500 Hermitian, unfolded, 20 trials), GOE (500×500 symmetric, 20 trials), Poisson (iid exponential, 20 trials), Cramer random primes (same density, no correlations, 20 trials)
tools/data/reports/agent_20260427_0330.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — the boundary is the third included operative.
tools/data/reports/agent_20260427_0330.md:18:- **Real domains**: primes (10000 unfolded gaps), GUE matrices (400 eigenvalues), logistic map, pure Poisson, coupled oscillators.
tools/data/reports/agent_20260427_0330.md:71:3. **The 29.5% prime ordering fraction at L=10 is real — 3.8x above the artifact floor.** The previous runs found 33% (spectral rigidity) and 33.6% (Markov memory). The slight difference (29.5% vs 33%) comes from different sample sizes and unfolding details. All three independent measurements agree: ~30% of prime spectral rigidity comes from sequential ordering, not from the gap distribution.
tools/data/reports/agent_20260427_0330.md:73:4. **Primes sit at beta_eff = 0.409 — the exact midpoint of the Poisson-GUE crossover.** They are not "GUE-like" or "Poisson-like" — they are the boundary itself. Their gap distribution alone gives intermediate repulsion (beta ~ 0.4). Their sequential ordering adds an additional 30% rigidity that i.i.d. gaps cannot produce.
tools/data/reports/agent_20260427_0330.md:81:- **BOUNDARY**: Primes ARE the boundary. beta_eff = 0.409 places them at the midpoint of the Poisson-GOE crossover. The boundary is not between primes and something else — primes live ON it.
tools/data/reports/agent_20260509_1516.md:8:**observable_contract**: claim=il gate `coherent/null/beta` del BOUNDARY sintetico trasferisce sul perimetro semi-reale base; observable=one-sided canonical observables, stable counts ai poli, endpoint distance e ambiguous beta; operator=`exp_semireal_boundary_transfer_gate.py`; generator=13 righe `boundary_denominator_prescan_full_20260509_1500` ricostruite da `dnd_autoricerca`; denominator=13 righe base BOUNDARY, 8 GUE-like e 5 Poisson-like, beta layers 0.0..1.0, 12 replicates, 24 shuffle baselines; non_possible=dichiarare beta 0.3 coordinata universale o transfer completo quando 2/13 righe cadono; not_tested=nuovi domini, nuovi spettri, fit `V_c`, limite asintotico.
tools/data/reports/agent_20260509_1516.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. La domanda non e' se GUE o Poisson vincono, ma se il passaggio resta morfismo quando il perimetro diventa fisico/semi-reale.
tools/data/reports/agent_20260509_1516.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, graph/perimeter transfer. Entrano per separare copertura del denominatore, supporto d'ordine e coordinata di transizione.
tools/data/reports/agent_20260509_1516.md:33:- Nuovo strumento: `tools/exp_semireal_boundary_transfer_gate.py`.
tools/data/reports/agent_20260509_1516.md:34:- Input: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1516.md:35:- Output: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:102:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1437.md`, report `agent_20260509_1444.md`, report `agent_20260509_1457.md`, nuovo JSON `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:113:- Verifica script: `python -m py_compile tools/exp_semireal_boundary_transfer_gate.py`.
tools/data/reports/agent_20260509_1516.md:116:- Run valido: `python tools/exp_semireal_boundary_transfer_gate.py --n-replicates 12 --n-baseline 24 --seed 202605091516 --out tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:120:- Script nuovo: `tools/exp_semireal_boundary_transfer_gate.py`
tools/data/reports/agent_20260509_1516.md:121:- Data: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`
tools/data/reports/agent_20260509_0846.md:8:**observable_contract**: claim=il fit di scala di `V_c` rientra solo dopo tipizzazione del generatore; observable=`vc_median` e rate di evento separati per `generator_class` e `r_threshold`; operator=audit direzionale sul deposito row-aligned `agent_20260509_0837`, senza ricomputare spettri; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_generator_class_scale_gate_20260509_0837`, `N={89,144,233,377}`, phase `{0,0.25,0.5,0.75}`, soglie `r={0.48,0.50,0.52}`, livelli separati `per_mode_best` e `accepted_candidates`; non_possible=se una classe produce `no_cross`, `V_c` non esiste per quelle righe e il fit di scala non e' definito; not_tested=nuovi N oltre 377, nuovi generatori, nuovo calcolo spettrale, gap_ratio, power-law fit parametrico.
tools/data/reports/agent_20260509_0846.md:15:- **Operatori laterali scelti**: boundary operator, filtrazione per classe, grafo dei morfismi. Entrano per separare esistenza dell'attraversamento, direzione del valore e classe che conserva o rompe il ponte.
tools/data/reports/agent_20260509_0846.md:22:- **Proiezione**: leggo lo stesso JSON 08:37 con uno strumento nuovo che stratifica per `generator_class`, `r_threshold` e livello di aggregazione. Se i trend cambiano quando passo da `per_mode_best` ad `accepted_candidates`, il denominatore e' parte atomica del claim.
tools/data/reports/agent_20260509_0846.md:37:  - `accepted_candidates`: solo candidati accepted dal gate label-preserving.
tools/data/reports/agent_20260509_0846.md:61:Accepted candidates, soglia `r=0.50`:
tools/data/reports/agent_20260509_0846.md:74:3. **Verificato: il livello `per_mode_best` e il livello `accepted_candidates` dicono cose diverse.** Nel best-per-mode, `periodic_closure` conserva ancora alcuni crossing a N=233 e N=377; negli accepted candidati gli stessi N collassano a `no_cross` pieno. I due livelli non vanno saldati.
tools/data/reports/agent_20260509_0846.md:87:- **Singolare**: la riga boundary prima che `event_type` decida se la soglia esiste, cade al floor o non attraversa.
tools/data/reports/agent_20260405_0914.md:41:The "boundary" between GUE and Poisson is not a static boundary — it's a **trajectory**.
tools/data/reports/agent_20260405_0914.md:57:The "third included" at the boundary is not a fixed point — it's the trajectory itself.
tools/exp_aubry_boundary_phase_transport_gate.py:3:Aubry/Fibonacci boundary phase transport gate.
tools/exp_aubry_boundary_phase_transport_gate.py:6:quasiperiodic potentials. The test is deliberately joint: a boundary return is
tools/exp_aubry_boundary_phase_transport_gate.py:194:    classification: dict[str, Any] = {"joint_boundary_v": [], "by_v": {}}
tools/exp_aubry_boundary_phase_transport_gate.py:224:            "joint_boundary": joint,
tools/exp_aubry_boundary_phase_transport_gate.py:227:            classification["joint_boundary_v"].append(float(v_value))
tools/exp_aubry_boundary_phase_transport_gate.py:230:        "experiment": "aubry_boundary_phase_transport_gate",
tools/exp_aubry_boundary_phase_transport_gate.py:244:            "claim": "phi is a physical boundary state between periodic order and balanced random disorder only if spectral spacing and localization agree",
tools/exp_aubry_boundary_phase_transport_gate.py:248:            "non_possible": "single-observable boundary, phase-aggregated critical value, or phi outside the periodic-random interval",
tools/exp_aubry_boundary_phase_transport_gate.py:268:    parser.add_argument("--out", default="tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json")
tools/data/reports/agent_20260508_2102.md:14:- **Operatori laterali scelti**: entropia, boundary operator, random walk. Entropia entra come dispersione Mobius interna; boundary operator entra perche' il gap e' bordo tra due primi; random walk entra come null di permutazione della carica.
tools/data/reports/agent_20260508_2102.md:21:- **Proto-ipotesi**: se la dualita dipolare nei primi vive nel boundary aritmetico, la carica Mobius dell'intervallo prime-free deve selezionare un perimetro di gap contro permutazione. Se la selezione appare solo in SR o cade sotto permutazione, il substrato non ha prodotto osservabile nuovo.
tools/data/reports/agent_20260428_0330.md:85:- **BOUNDARY**: The algebraic boundary is at 3, not at 6. The mod-6 structure documented in F2 is the mod-3 prohibition dressed with trivial mod-2 parity. The primorial hierarchy adds width (more residue classes) but not depth (no new hard prohibitions). The confine is the smallest non-trivial prime.
tools/exp_vc_label_preserving_swap_gate.py:10:silently become a fake counterproof. Phase-shift Sturmian candidates are an
tools/exp_vc_label_preserving_swap_gate.py:166:def structured_start_candidates(
tools/exp_vc_label_preserving_swap_gate.py:172:    candidates: list[tuple[str, np.ndarray]] = []
tools/exp_vc_label_preserving_swap_gate.py:185:                    candidates.append((mode, seq))
tools/exp_vc_label_preserving_swap_gate.py:186:    return candidates
tools/exp_vc_label_preserving_swap_gate.py:189:def phase_shift_candidates(
tools/exp_vc_label_preserving_swap_gate.py:194:    candidates: list[tuple[str, np.ndarray]] = []
tools/exp_vc_label_preserving_swap_gate.py:195:    for _ in range(args.phase_candidate_trials):
tools/exp_vc_label_preserving_swap_gate.py:199:            candidates.append(("phase_shift_sturmian", seq))
tools/exp_vc_label_preserving_swap_gate.py:200:    return candidates
tools/exp_vc_label_preserving_swap_gate.py:233:        initial_pool.extend(structured_start_candidates(reference_seq, rng, args))
tools/exp_vc_label_preserving_swap_gate.py:234:    initial_pool.extend(phase_shift_candidates(reference_seq, rng, args))
tools/exp_vc_label_preserving_swap_gate.py:250:            candidate = swapped(current, rng)
tools/exp_vc_label_preserving_swap_gate.py:251:            if candidate is None:
tools/exp_vc_label_preserving_swap_gate.py:253:            candidate_hamming = hamming_ratio(candidate, reference_seq)
tools/exp_vc_label_preserving_swap_gate.py:254:            if candidate_hamming < args.min_hamming_ratio:
tools/exp_vc_label_preserving_swap_gate.py:256:            candidate_score, candidate_labels = score_sequence(candidate, reference_labels, args)
tools/exp_vc_label_preserving_swap_gate.py:257:            delta = candidate_score - current_score
tools/exp_vc_label_preserving_swap_gate.py:261:                current = candidate
tools/exp_vc_label_preserving_swap_gate.py:262:                current_score = candidate_score
tools/exp_vc_label_preserving_swap_gate.py:263:                current_labels = candidate_labels
tools/exp_vc_label_preserving_swap_gate.py:265:            if candidate_score > best_score:
tools/exp_vc_label_preserving_swap_gate.py:266:                best = np.array(candidate, copy=True)
tools/exp_vc_label_preserving_swap_gate.py:267:                best_score = candidate_score
tools/exp_vc_label_preserving_swap_gate.py:268:                best_labels = set(candidate_labels)
tools/exp_vc_label_preserving_swap_gate.py:271:        candidate_result = {
tools/exp_vc_label_preserving_swap_gate.py:282:            candidate_result["accepted"],
tools/exp_vc_label_preserving_swap_gate.py:283:            candidate_result["label_jaccard"],
tools/exp_vc_label_preserving_swap_gate.py:284:            candidate_result["hamming_ratio"],
tools/exp_vc_label_preserving_swap_gate.py:285:            -candidate_result["steps_used"],
tools/exp_vc_label_preserving_swap_gate.py:288:            best_result = (key, candidate_result)
tools/exp_vc_label_preserving_swap_gate.py:291:        raise RuntimeError("no surrogate candidate generated")
tools/exp_vc_label_preserving_swap_gate.py:417:            "phase_candidate_trials": args.phase_candidate_trials,
tools/exp_vc_label_preserving_swap_gate.py:449:    parser.add_argument("--phase-candidate-trials", type=int, default=0)
tools/data/reports/agent_20260430_1919.md:9:> The two order-sensitive observables (spacing_ratio, lag1_acf) form a 2D dipolar vector at the GUE-Poisson boundary. Does this vector rotate with scale (internal dynamics) or maintain constant angle (single structural mode)?
tools/data/reports/agent_20260515_1933.md:1:# Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/reports/agent_20260515_1933.md:5:**verdict**: CONSTRAINT - il gate a due lettori trasferisce sul flusso Rosenzweig-Porter solo in una riga stabile; il residuo Lab-specific graph-only cade a zero nel perimetro fisico controllato.  
tools/data/reports/agent_20260515_1933.md:8:**observable_contract**: claim=il BOUNDARY a due lettori trasferisce a un crossover fisico controllato solo dove stabilita grafica e intermediacy classica concordano sulla stessa riga lambda; observable=graph_bridge_frequency unito a Brody q, peso Wigner/Poisson, SR e IPR; operator=flusso Hamiltoniano Rosenzweig-Porter diagonal-plus-GUE con perturbazione kNN; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=13 righe lambda x 3 seed x k={2,3,4}; non_possible=claim Lab-specific graph-only se ogni ponte grafico stabile e anche intermedio classico, oppure claim fisico se dominano righe classic-only; not_tested=universalita asintotica RP, unfolding alternativi, spettri sperimentali, many-body localization.
tools/data/reports/agent_20260515_1933.md:17:- **Proto-ipotesi**: il residuo graph-only del perimetro composito Lab non e una legge del boundary; in un flusso fisico controllato sopravvive solo se resta graph bridge senza essere gia spiegato dal crossover classico.
tools/data/reports/agent_20260515_1933.md:19:- **Proiezione**: 13 lambda Rosenzweig-Porter, tre seed, kNN k=2/3/4, Brody/Berry-like e grafo sulle stesse righe.
tools/data/reports/agent_20260515_1933.md:30:- `why`: l'esperimento porta il perimetro vivo GUE/Poisson su un sistema Rosenzweig-Porter controllato e testa il confine come terzo incluso operativo con due lettori.
tools/data/reports/agent_20260515_1933.md:34:- **Baseline noto piu vicino**: crossover Rosenzweig-Porter / Wigner-Dyson-GUE vs Poisson, letto con adjacent gap ratio, Brody q e mistura Wigner/Poisson.
tools/data/reports/agent_20260515_1933.md:35:- **Cosa viene assorbito dal baseline**: la riga `RP_lambda_0.060` e classica e grafica insieme; non e scoperta fisica nuova, e il punto finito in cui i due lettori concordano.
tools/data/reports/agent_20260515_1933.md:37:- **Cosa resta artifact/classificazione grafica**: `RP_lambda_0.100` e ponte parametrico, non stabile; dipende da k e seed.
tools/data/reports/agent_20260515_1933.md:39:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 0`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + Brody/Berry-like row-aligned`. Non sommo le 11 righe classic-only al boundary a due lettori.
tools/data/reports/agent_20260515_1933.md:42:> Nel flusso Rosenzweig-Porter controllato, il BOUNDARY a due lettori sopravvive solo dove una riga lambda e insieme ponte grafico stabile e intermedia classica.
tools/data/reports/agent_20260515_1933.md:51:- **Osservabile/test fisico possibile**: ripetere su Anderson 3D multi-size o RP con unfolding locale; il segnale da cercare e stabilita della riga a due lettori, non crescita del numero di intermedi classici.
tools/data/reports/agent_20260515_1933.md:60:- **Contratto osservabile-operatore**: il ciclo testa trasferimento del gate composito su un flusso fisico; non testa limite asintotico, unfolding dedicato o dati sperimentali.
tools/data/reports/agent_20260515_1933.md:67:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260515_1933.md:80:| RP_lambda_0.000 | 0.000 | classical_poisson_endpoint | 0.000 | 0.000 | 0.383 |
tools/data/reports/agent_20260515_1933.md:81:| RP_lambda_0.030 | 0.000 | classical_intermediate | 0.427 | 0.300 | 0.510 |
tools/data/reports/agent_20260515_1933.md:82:| RP_lambda_0.060 | 1.000 | classical_intermediate | 0.540 | 0.373 | 0.528 |
tools/data/reports/agent_20260515_1933.md:83:| RP_lambda_0.100 | 0.667 | classical_intermediate | 0.653 | 0.420 | 0.524 |
tools/data/reports/agent_20260515_1933.md:84:| RP_lambda_0.180 | 0.222 | classical_intermediate | 0.813 | 0.460 | 0.534 |
tools/data/reports/agent_20260515_1933.md:85:| RP_lambda_0.500 | 0.000 | classical_intermediate | 0.900 | 0.493 | 0.535 |
tools/data/reports/agent_20260515_1933.md:86:| RP_lambda_1.000 | 0.000 | classical_intermediate | 0.980 | 0.507 | 0.534 |
tools/data/reports/agent_20260515_1933.md:89:1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate`, 9/9 letture grafiche.
tools/data/reports/agent_20260515_1933.md:90:2. Verificato: `RP_lambda_0.100` e ponte parametrico, 6/9 letture; non entra nel boundary confermato.
tools/data/reports/agent_20260515_1933.md:98:Il boundary fisico esiste nel perimetro RP finito come una riga a due lettori: `lambda=0.060`. Il residuo graph-only non sopravvive. La parte nuova del ciclo non e una scoperta RP, ma il vincolo operativo: il gate Lab-specific deve perdere autorita quando un flusso Hamiltoniano controllato lo assorbe nel crossover classico.
tools/data/reports/agent_20260515_1933.md:102:- **Singolare**: lambda row-aligned prima della promozione a boundary.
tools/data/reports/agent_20260515_1933.md:108:Il prossimo ciclo utile non deve aumentare il numero di metriche. Deve stressare la riga `RP_lambda_0.060` su taglie/repliche o portare lo stesso contratto su Anderson 3D multi-size. Il criterio e semplice: se la riga a due lettori resta, il gate diventa strumento fisico finite-size; se cade, BOUNDARY torna a scaffold di classificazione.
tools/evolution_report.md:2:Il passo ha preso una finestra RP gia' candidata e l'ha fatta passare attraverso un cambio di coordinata: non ha cercato un nuovo confine, ha chiesto se il confine restava lo stesso quando l'unfolding smetteva di essere globale.
tools/evolution_report.md:9:Latenza residua: l'autopsy chiude `completed_no_jsonl`. Il passo e' leggibile dal report, ma il percorso resta inferito da un log grezzo grande e non da una traccia strutturata. L'altra latenza e' di perimetro: l'audit ripete l'intero asse lambda quando la domanda viva era gia' concentrata sulle righe `0.045` e `0.060`; i sentinel aiutano, ma il costo non e' nominato come scelta.
tools/evolution_report.md:12:Il nodo regressivo sta prima dell'esecuzione: mancava un contratto di passo provider-agnostico e una dichiarazione di perimetro audit `candidate_rows + sentinels`. Il fix vive nel pre-run: aprire ogni ciclo con una `step_trace` minima che registri domanda, righe candidate, sentinel necessari, unfolding/null, soglie e criterio di taglio.
tools/evolution_report.md:17:La riga `RP_lambda_0.045` diventa un punto di trasporto piu' pulito della vecchia finestra. Il ciclo successivo puo' testare se questa riga resta stabile con size maggiori o con altri unfolding locali, senza riaprire tutta la regione RP.
tools/evolution_report.md:19:La caduta di `0.060` apre un uso concreto: trattarla come sonda di sensibilita' alla coordinata. In un altro dominio GUE/Poisson, il prossimo passo puo' cercare non solo "dove passa il boundary", ma dove il boundary cambia lettore quando cambia unfolding.
tools/evolution_report.md:22:Il ciclo seguente puo' proseguire su `0.045` come boundary stabile e usare `0.060` come controllo di coordinata, con perimetro audit dichiarato prima del run.
tools/data/reports/agent_20260509_1532.md:8:**observable_contract**: claim=la matrice BOUNDARY semi-reale va separata in due assi: `support_transfer` e `beta_coordinate_transfer`; observable=stato row-aligned del supporto ordine/null e stato locale della beta ambigua; operator=`exp_boundary_two_axis_matrix.py`; generator=deposito `semireal_boundary_transfer_gate_20260509_1516` senza uso operativo di label GUE/Poisson; denominator=13 righe BOUNDARY semi-reali del perimetro base; non_possible=salvare il claim "beta 0.3 universale" quando solo 4/13 righe hanno beta 0.3 esatta; not_tested=nuovi domini, nuovi null, nuovi beta layer, fit `V_c`, limite asintotico.
tools/data/reports/agent_20260509_1532.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo non e' una classe; e' una matrice di passaggio fra supporto e coordinata.
tools/data/reports/agent_20260509_1532.md:15:- **Operatori laterali scelti**: boundary operator, graph/perimeter matrix, coordinate split. Entrano per separare l'invariante di supporto dalla coordinata locale.
tools/data/reports/agent_20260509_1532.md:33:- Nuovo strumento: `tools/exp_boundary_two_axis_matrix.py`.
tools/data/reports/agent_20260509_1532.md:34:- Input: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1532.md:35:- Output: `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:107:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1516.md`, falsifier `falsifier_20260509_1516.json`, script `tools/exp_boundary_two_axis_matrix.py`, JSON `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:118:- Verifica script: `python -m py_compile tools/exp_boundary_two_axis_matrix.py`.
tools/data/reports/agent_20260509_1532.md:119:- Run valido: `python tools/exp_boundary_two_axis_matrix.py --input tools/data/semireal_boundary_transfer_gate_20260509_1516.json --out tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:124:- Script nuovo: `tools/exp_boundary_two_axis_matrix.py`
tools/data/reports/agent_20260509_1532.md:125:- Data: `tools/data/boundary_two_axis_matrix_20260509_1532.json`
tools/exp_mod3_vs_residual_ordering.py:41:def unfold_gaps(gaps):
tools/exp_mod3_vs_residual_ordering.py:56:def number_variance(unfolded_gaps, L_values, n_starts=3000):
tools/exp_mod3_vs_residual_ordering.py:57:    """Sigma^2(L) from unfolded gaps."""
tools/exp_mod3_vs_residual_ordering.py:58:    levels = np.cumsum(unfolded_gaps)
tools/exp_mod3_vs_residual_ordering.py:184:    unfolded = unfold_gaps(gaps.astype(float))
tools/exp_mod3_vs_residual_ordering.py:185:    print(f"Unfolded: mean={np.mean(unfolded):.3f}, std={np.std(unfolded):.3f}")
tools/exp_mod3_vs_residual_ordering.py:192:    sig2_real = number_variance(unfolded, L_values)
tools/exp_mod3_vs_residual_ordering.py:200:        shuf = unfolded.copy()
tools/exp_mod3_vs_residual_ordering.py:214:        # Shuffle raw gaps with mod-3 constraint, then unfold
tools/exp_mod3_vs_residual_ordering.py:216:        shuf_unf = unfold_gaps(shuf_raw.astype(float))
tools/exp_mod3_vs_residual_ordering.py:231:        cu = unfold_gaps(cg)
tools/data/reports/agent_20260508_2019.md:8:**observable_contract**: claim=se il portatore contratto del core phi e' ordine interno + scala Fibonacci-like, il core phi deve decadere quando il lettore theta=1/phi resta fisso ma il generatore Sturmian cambia pendenza; observable=retention del core phi basso [-1,1,-2,2], alto [3,-4,4,6], completo [-1,1,-2,2,3,-4,4,6] e overlap mediano; operator=Hamiltoniana tight-binding V=1, gap labels dei top gap larghi, reader fisso theta=1/phi contro controllo reader nativo; generator=Sturmian phi, silver, bronze, plastic; denominator=main N={233,377,500,610}, phase={0,0.25,0.5,0.75}, threshold={1.75,2.0,2.25}, top_k=12, |n|<=34; seedcheck N={144,288,466,754}, phase={0.125,0.375,0.625,0.875}, threshold={1.9,2.1}; not_tested=gap_ratio, boundary esatto del supertile, domini GUE/Poisson reali, automa formale della sostituzione.
tools/data/reports/agent_20260508_2019.md:15:- **Contaminazione cognitiva**: CE-0001 KSAR usato. Il kernel del ciclo 20:13 viene reiterato cambiando piano: non un altro boundary reader, ma il contro-polo naturale del generatore.
tools/data/reports/agent_20260508_2019.md:20:> Il core phi alto non e' un boundary esatto: e' una tassonomia generatore-lettore. Cambiando pendenza Sturmian e tenendo fisso theta=1/phi, il core phi decade; con reader nativo riappare una struttura ordinata propria.
tools/data/reports/agent_20260508_2019.md:73:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, il core phi non trasferisce ai generatori Sturmian non-phi quando il reader resta theta=1/phi. La perdita non e' disordine: con reader nativo i generatori non-phi mostrano core stabili e label-error basso. Formulazione valida: il portatore del core non e' il boundary esatto ne' il reader phi da solo; e' l'accoppiamento generatore-lettore. Il low core misura stabilita di famiglia Sturmian, il high core misura una coordinata piu' selettiva e denominatore-dipendente.
tools/data/reports/agent_20260508_2019.md:87:- **L3 no silent patching**: il boundary esatto non viene salvato; il claim viene contratto al portatore generatore-lettore.
tools/data/reports/agent_20260418_0330.md:105:**CONSTRAINT on DIPOLAR_ILLUSORY_BOUNDARY**: The crossover lag is k* = A/C, a smooth function of scale. As primes grow (A decays per ACF_AMPLITUDE_SCALING), k* should SHRINK — the dipolar-illusory boundary moves to shorter lags at larger primes. The dipolar regime narrows with scale.
tools/data/reports/agent_20260515_1724.md:14:- **Operatori laterali scelti**: boundary condition per rendere la fase parte del denominatore; mobility edge come forma fisica del passaggio spettrale; spectrum-preserving style control come controllo random a densita preservata.
tools/data/reports/agent_20260507_2203.md:28:| TQGE+R+S+U | 5 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair | 0/50,000 sampled |
tools/data/reports/agent_20260507_2203.md:29:| TQGE+R+S+U+V | 6 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair; QGV: observer_pair | 0/50,000 sampled |
tools/data/reports/agent_20260515_1745.md:8:**observable_contract**: claim=`phi` e' stato fisico di confine tra ordine periodico e disordine random solo se statistica spettrale e localizzazione concordano; observable=`spacing_r` + `mean_ipr`/`participation_entropy`; operator=`tools/exp_aubry_boundary_phase_transport_gate.py`; generator=Hamiltoniana tight-binding binaria con sequenze phi/silver/bronze, periodico AB e random bilanciato a densita phi; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..2.50 step 0.25 x generator, random_trials=6; non_possible=promuovere confine fisico da una sola osservabile, da phase0, o da un valore critico aggregato; not_tested=limite asintotico, modello Aubry-Andre coseno canonico, dati sperimentali, classi GUE/Poisson universali dirette.
tools/data/reports/agent_20260515_1745.md:15:- **Operatori laterali scelti**: Hamiltonian spectrum, boundary operator, phase/parallel-transport come memoria del denominatore.
tools/data/reports/agent_20260515_1745.md:46:- `python -m py_compile tools/exp_aubry_boundary_phase_transport_gate.py` completato.
tools/data/reports/agent_20260515_1745.md:47:- Run: `python tools/exp_aubry_boundary_phase_transport_gate.py --out tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json`.
tools/data/reports/agent_20260515_1745.md:69:2. **Verificato**: a V=1.50 la posizione intermedia resta vera per entrambe le osservabili, ma la separazione dal random cade sotto soglia; non e' boundary joint promuovibile.
tools/data/reports/agent_20260515_1745.md:88:Il prossimo ciclo puo' usare `exp_aubry_boundary_phase_transport_gate.py` come gate per ritorni fisici: cercare se la finestra V=0.50..1.25 sopravvive a N piu grandi o a un potenziale Aubry-Andre coseno. Se la finestra si muove, il claim resta finestra row-local; se resta stabile, diventa candidato ponte QxG fisico.
tools/data/reports/agent_20260515_1745.md:105:- `tools/exp_aubry_boundary_phase_transport_gate.py`
tools/data/reports/agent_20260515_1745.md:106:- `tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json`
tools/LAB_AGENT_CONTEXT.md:136:  row-aligned (`candidate_id` condiviso) oppure formula la divergenza fra
tools/LAB_AGENT_CONTEXT.md:179:  indipendente del boundary finche' la distanza/perimetro non sono adeguati.
tools/data/reports/agent_20260514_1631.md:8:**observable_contract**: claim=il risultato 16:12 va riformulato come tester operativo del confine repulsione/Poisson, non come scoperta fisica; observable=`component_state(SR,L1,triple_var)` con `SR` = adjacent gap ratio canonico; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GUE hermitiano e Anderson 1D `W=6`; denominator=96 repliche per dominio, 95 gap centrali per spettro, 192 eventi trace; null=Poisson span-matched stesso count; non_possible=claim fisico nuovo o legge di transizione se il confronto resta sintetico, finite-size e senza dati sperimentali/unfolding dedicato.
tools/data/reports/agent_20260514_1631.md:24:- **Possibile / non-possibile**: possibile = riusare il tester su spettri ordinati fisici o simulati; non-possibile = promuovere il pattern sintetico a legge fisica senza baseline, classe di simmetria, unfolding e dati esterni.
tools/data/reports/agent_20260514_1631.md:44:- **Adjacent gap ratio**: `SR` canonico del registry, cioe' media di `min(g_i,g_{i+1})/max(g_i,g_{i+1})`, usato come confronto standard senza unfolding fine.
tools/data/reports/agent_20260514_1631.md:72:- **Verificato / operational boundary**: Anderson `W=6` assorbe `SR` nel gate dichiarato (`p=0.028439`, `d=0.229`), pur avendo delta positivo piccolo. Il linguaggio corretto e' assorbito, non zero.
tools/data/reports/agent_20260514_1631.md:75:- **Non verificato**: dati sperimentali, Anderson 3D, many-body localization, GOE/GSE, unfolding dedicato, robuste curve di taglia `N`.
tools/data/reports/agent_20260514_1631.md:85:3. **Verificato**: il confronto Poisson span-matched basta come baseline operativa minima, ma non sostituisce letteratura, dati o unfolding.
tools/data/reports/agent_20260514_1631.md:105:Il passo successivo valido non e' tornare ai primi. E' portare lo stesso tester su un denominatore fisico piu' forte: GOE/GUE scelto per simmetria, Anderson 3D o many-body localization se serve una transizione reale, curve in `N`, e confronto con adjacent gap ratio standard piu' unfolding controllato.
tools/data/reports/agent_20260514_1458.md:8:**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` sopravvive a sottrazione row-local `6k +/- 1`; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con verdict vettoriale e trace obbligatoria; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `mod6_index_aligned` e `mod6_span_matched`; denominator=righe provider-offset paired, 4096 e 8192 gap, p label-swap <= 0.01 richiesto per ogni osservabile focus e ogni antagonista; non_possible=vettore falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista; not_tested=origine analitica del delta, scale oltre 8192 gap, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1458.md:18:- **Piano superiore**: topologia assiomatica del bordo. Il boundary operator non decide dalla label comune, decide dal differenziale che resta dopo sottrazione del pre-bordo.
tools/data/reports/agent_20260514_1458.md:19:- **Operatori laterali scelti**: boundary operator, perche' il claim vive nella sottrazione prime-minus-mod6; parallel transport, perche' provider e offset trasportano la stessa riga fra classi senza cambiare denominatore.
tools/data/reports/agent_20260514_1458.md:42:- **Attraversamento matematico**: boundary operator row-local con label-swap null.
tools/data/reports/agent_20260514_1458.md:50:- Script modificato: `tools/exp_prime_vs_mod6_sr_boundary.py`.
tools/data/reports/agent_20260514_1458.md:100:- `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_1458.md:101:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.json`
tools/data/reports/agent_20260514_1458.md:102:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.trace.jsonl`
tools/data/reports/agent_20260514_1458.md:103:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.json`
tools/data/reports/agent_20260514_1458.md:104:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.trace.jsonl`
tools/data/reports/agent_20260514_1458.md:105:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.json`
tools/data/reports/agent_20260514_1458.md:106:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.trace.jsonl`
tools/spectral_gap_analysis.py:64:        lambdas = lambdas / lambdas.max() * 0.99  # Keep away from boundary
tools/spectral_gap_analysis.py:145:    The Hamiltonian eigenvalues are the candidate Hilbert-Pólya spectrum.
tools/spectral_gap_analysis.py:174:    # Filter: keep only physical eigenvalues (positive, not boundary artifacts)
tools/data/reports/agent_20260514_1605.md:8:**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` regge a 4096/8192 e mostra il primo limite oltre 8192 solo dopo `min_paired_rows` pre-dichiarato; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con `--min-paired-rows 10` e trace obbligatoria; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `mod6_index_aligned` e `mod6_span_matched`; denominator=righe provider-offset paired, soglia atomica `min_paired_rows=10`; non_possible=vettore completo falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista con denominatore valido; not_tested=origine analitica del delta, scale oltre 16384, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1605.md:18:- **Piano superiore**: topologia assiomatica del bordo con boundary operator; il bordo non e' una label, e' una classe di componenti che sopravvivono o cadono sotto antagonista.
tools/data/reports/agent_20260514_1605.md:19:- **Operatori laterali scelti**: boundary operator e finite-size scaling. Il primo localizza quale componente passa il bordo; il secondo impedisce di chiamare scala cio' che e' solo 4096/8192.
tools/data/reports/agent_20260514_1605.md:41:- Patch regressiva: `tools/exp_prime_vs_mod6_sr_boundary.py` ora scrive `denominator_contract` nel JSON e nella trace.
tools/data/reports/agent_20260514_1605.md:81:- **Campo di possibilita**: separare il vettore in strato robusto (`L1,triple_var`) e strato boundary-sensitive (`SR`).
tools/data/reports/agent_20260514_1605.md:94:- `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_1605.md:95:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.json`
tools/data/reports/agent_20260514_1605.md:96:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.trace.jsonl`
tools/data/reports/agent_20260514_1605.md:97:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.json`
tools/data/reports/agent_20260514_1605.md:98:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.trace.jsonl`
tools/data/reports/agent_20260514_1605.md:99:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.json`
tools/data/reports/agent_20260514_1605.md:100:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.trace.jsonl`
tools/exp_boundary_short_denominator_extension.py:8:exp_semireal_boundary_transfer_gate.py.
tools/exp_boundary_short_denominator_extension.py:20:from exp_semireal_boundary_transfer_gate import evaluate_matrix
tools/exp_boundary_short_denominator_extension.py:190:        "experiment": "boundary_short_denominator_extension",
tools/exp_boundary_short_denominator_extension.py:200:            "operator": "source-denominator extension plus semireal boundary transfer gate",
tools/exp_boundary_short_denominator_extension.py:203:            "not_tested": "global 13-row boundary redesign, V_c fit, source GUE/Poisson label validity",
tools/exp_boundary_short_denominator_extension.py:237:    parser.add_argument("--source-audit", default="tools/data/boundary_blank_thin_support_audit_20260509_1548.json")
tools/exp_boundary_short_denominator_extension.py:252:    parser.add_argument("--out", default="tools/data/boundary_short_denominator_extension_20260509_1556.json")
tools/data/reports/agent_20260509_0659.md:8:**observable_contract**: claim=il null label-preserving deve essere raggiungibile oltre N=89 prima di usare `V_c` per trasferire il boundary verso altri perimetri; observable=`event_type={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`, `acceptance_rate`; operator=surrogate bilanciato con swap 0/1, gate `label_jaccard>=0.75`, poi curva `r(V)` su griglia 0.5..3.0 step 0.01; generator=phi Sturmian, balanced_random, swap_label_surrogate; denominator=N=144, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, random_trials=1, label_trials=1, swap_steps=120, seed=202605090659; non_possible=se il gate label-preserving non viene raggiunto, il ciclo non puo' usare il surrogate come controprova del boundary Sturmian; not_tested=GUE/Poisson reali, silver/bronze, fit power-law, gap_ratio, sufficienza del label-set con surrogate accettati a N=144.
tools/data/reports/agent_20260509_0659.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + TxQ matrice densita come lettore spettrale + topologia assiomatica del boundary operator + tensione `TRASCENDENZA_LIMITE` sul null `V_c`.
tools/data/reports/agent_20260509_0659.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, swap-constrained surrogate. Il boundary operator separa crossing e floor; la filtrazione produce `r(V)`; lo swap testa se il vincolo label-set e' raggiungibile senza copiare l'ordine Sturmian.
tools/data/reports/agent_20260509_0659.md:20:- **Proiezione**: misuro prima `acceptance_rate` e `label_jaccard`; `event_type` e `V_c` sono riportati come telemetria del surrogate non accettato, non come controprova del boundary.
tools/data/reports/agent_20260509_0659.md:33:- Denominatore grezzo: `phi_sturmian=12` righe evento, `balanced_random=12`, `swap_label_surrogate=12`; 4 sequenze surrogate candidate, una per fase.
tools/data/reports/agent_20260509_0659.md:66:4. **Verificato: il costo del null cresce prima della prova fisica.** I tentativi piu' larghi non chiudono nel budget del cycle; il nodo regressivo e' il generatore del null, non il boundary verso GUE/Poisson.
tools/data/reports/agent_20260509_0659.md:75:- **Due radici**: prova fisica del boundary . raggiungibilita' del contro-campo.
tools/dnd_compatibility.py:431:def evaluate(candidate_name):
tools/dnd_compatibility.py:433:    if candidate_name not in CANDIDATES:
tools/dnd_compatibility.py:434:        print(f"Candidato '{candidate_name}' non trovato.")
tools/dnd_compatibility.py:438:    cand = CANDIDATES[candidate_name]
tools/dnd_compatibility.py:481:        "candidate": candidate_name,
tools/dnd_compatibility.py:497:    print(f"  COMPATIBILITA' D-ND: {result['candidate']}")
tools/dnd_compatibility.py:548:        print(f"  {i:<4} {r['candidate']:<25} {r['score']}/{r['max_score']:<7} {r['percentage']:<7}% {r['verdict'].split(' — ')[0]}")
tools/data/reports/agent_20260508_2102.md:14:- **Operatori laterali scelti**: entropia, boundary operator, random walk. Entropia entra come dispersione Mobius interna; boundary operator entra perche' il gap e' bordo tra due primi; random walk entra come null di permutazione della carica.
tools/data/reports/agent_20260508_2102.md:21:- **Proto-ipotesi**: se la dualita dipolare nei primi vive nel boundary aritmetico, la carica Mobius dell'intervallo prime-free deve selezionare un perimetro di gap contro permutazione. Se la selezione appare solo in SR o cade sotto permutazione, il substrato non ha prodotto osservabile nuovo.
tools/data/reports/agent_20260515_1647.md:14:- **Operatori laterali scelti**: `boundary operator` per separare contesto da direzione; `graph cut` per isolare selector by-mtime; `proof trace vs output trace` per confrontare tool coherence e rebuild risk.
tools/data/reports/agent_20260405_0916.md:47:4. The structural content is NOT the boundary or its direction, but the **persistence** of the excess across 4 orders of magnitude
tools/data/reports/agent_20260515_1807.md:8:**observable_contract**: claim=la finestra `phi_sturmian` 17:45 e' grammatica-completa solo se cade sotto surrogate che preservano densita, memoria corta e spettro del potenziale; observable=joint boundary window da `spacing_r` + `mean_ipr` e distanze surrogate; operator=`tools/exp_aubry_binary_grammar_surrogate_gate.py`; generator=Hamiltoniana tight-binding binaria con `phi_sturmian`, periodico AB, random bilanciato, density shuffle, Markov corto, block shuffle k=8, IAAFT binary PSD; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..1.50 step 0.25 x surrogate rows; non_possible=promuovere il boundary come proprieta di phi se un surrogate piu debole conserva la stessa finestra; not_tested=limite asintotico, altri block size, altri algoritmi exact autocorrelation, dati sperimentali.
tools/data/reports/agent_20260515_1807.md:14:- **Piano superiore**: geometria dei campi su reticolo; il boundary e' nella forma del campo binario, non nel numero irrazionale isolato.
tools/data/reports/agent_20260515_1807.md:15:- **Operatori laterali scelti**: boundary operator, Fourier mode / spectral amplitude, short-memory Markov control.
tools/data/reports/agent_20260515_1807.md:24:- `not_drift`: non riapre prime/mod6, non usa selector legacy, non rifitta `V_c`; attacca il nodo regressivo lasciato dalla consecutio 17:58: quale parte della grammatica binaria genera il boundary.
tools/data/reports/agent_20260515_1807.md:28:> La finestra `phi_sturmian` 17:45 e' un boundary-as-grammar solo se density shuffle, memoria corta e PSD-preserving surrogate non conservano la stessa finestra congiunta.
tools/data/reports/agent_20260515_1807.md:32:Il boundary binario nasce dalla parola Sturmian completa, oppure da una statistica piu debole del potenziale come densita, memoria corta o spettro Fourier?
tools/data/reports/agent_20260515_1807.md:40:- **Relazione nuova**: il boundary non appartiene al solo irrazionale phi; appartiene alla quota di ordine binario a lungo raggio che il surrogate IAAFT conserva parzialmente.
tools/data/reports/agent_20260515_1807.md:51:- Gate: `joint_boundary = spacing_r_between and mean_ipr_between and separated_from_random`.
tools/data/reports/agent_20260515_1807.md:52:- Contratto osservabile-operatore: il ciclo testa boundary window e profilo surrogate; non testa `gap_ratio`, `V_c` asintotico, universalita GUE/Poisson o dati sperimentali.
tools/data/reports/agent_20260515_1807.md:56:| domain | joint boundary V | median hamming | median acf_l1 | median psd_l1 |
tools/data/reports/agent_20260515_1807.md:75:2. **Verificato**: density shuffle, Markov corto e block shuffle k=8 non conservano alcun valore V con boundary congiunto.
tools/data/reports/agent_20260515_1807.md:83:La formulazione valida diventa: nel perimetro misurato, il boundary binario `phi` e' `boundary-as-long-range-binary-order`. La grammatica completa serve per chiudere V=1.00 e V=1.25; il profilo PSD/autocorrelazione vicino basta per trasportare V=0.50 e V=0.75. Non si puo promuovere `phi` come proprieta autonoma, e non si puo ridurre il finding a densita, Markov locale o blocchi.
tools/data/reports/agent_20260515_1807.md:89:- **Invariante di passaggio**: il boundary fisico deve dichiarare quale strato del generatore sopravvive: densita, memoria corta, PSD o parola completa.
tools/data/reports/agent_20260515_1807.md:98:ssp_value: yes. Lo script e' un gate riusabile per generare potenziali binari controllati prima di costruire demo fisiche del boundary: distingue densita, memoria corta, blocchi e PSD.
tools/data/reports/agent_20260428_0330.md:85:- **BOUNDARY**: The algebraic boundary is at 3, not at 6. The mod-6 structure documented in F2 is the mod-3 prohibition dressed with trivial mod-2 parity. The primorial hierarchy adds width (more residue classes) but not depth (no new hard prohibitions). The confine is the smallest non-trivial prime.
tools/dnd_gue_test.py:131:# ─── Smooth counting function for unfolding ────────────────────────────
tools/dnd_gue_test.py:141:    For unfolding we use: N(T) = (T/(2π)) ln(qT/(2πe))
tools/dnd_gue_test.py:166:def unfold_zeros(zeros, conductor):
tools/dnd_gue_test.py:176:    # Compute unfolded positions using exact formula
tools/dnd_gue_test.py:177:    unfolded = np.array([smooth_N_exact(t, conductor) for t in zeros])
tools/dnd_gue_test.py:180:    spacings = np.diff(unfolded)
tools/dnd_gue_test.py:238:    2. Refine candidates with mpmath.findroot
tools/dnd_gue_test.py:251:    # Find |L| minima (zero candidates — generous threshold)
tools/dnd_gue_test.py:252:    candidates = []
tools/dnd_gue_test.py:255:            candidates.append(t_values[i])
tools/dnd_gue_test.py:257:    print(f"    Scan: {len(candidates)} candidates from {len(t_values)} points")
tools/dnd_gue_test.py:261:    for t_guess in candidates:
tools/dnd_gue_test.py:421:    zeta_spacings = unfold_zeros(zeta_zeros, conductor=1)
tools/dnd_gue_test.py:439:    L5_spacings = unfold_zeros(L5_zeros, conductor=5)
tools/dnd_gue_test.py:457:    L8_spacings = unfold_zeros(L8_zeros, conductor=8)
tools/dnd_gue_test.py:475:    L13_spacings = unfold_zeros(L13_zeros, conductor=13)
tools/dnd_gue_test.py:494:    L29_spacings = unfold_zeros(L29_zeros, conductor=29)
tools/dnd_gue_test.py:513:    L17_spacings = unfold_zeros(L17_zeros, conductor=17)
tools/dnd_gue_test.py:532:    L21_spacings = unfold_zeros(L21_zeros, conductor=21)
tools/dnd_gue_test.py:602:        sp = unfold_zeros(zeros_list, conductor)
tools/data/reports/agent_20260430_1919.md:9:> The two order-sensitive observables (spacing_ratio, lag1_acf) form a 2D dipolar vector at the GUE-Poisson boundary. Does this vector rotate with scale (internal dynamics) or maintain constant angle (single structural mode)?
tools/data/reports/agent_20260515_1904.md:7:observables_used: [brody_q, berry_robnick_like_gue_weight, mixture_ks, graph_boundary_state_from_1855, centroid_margin_from_1855, cross_neighbor_fraction_from_1855]
tools/data/reports/agent_20260515_1904.md:8:**observable_contract**: claim=il bridge Lab conserva residuo dopo confronto con scalari classici di crossover; observable=Brody q row-aligned, peso GUE Berry-Robnik-like, stato ponte del grafo 18:55; operator=classical scalar audit sulle stesse 13 righe BOUNDARY; generator=row_spacings(domain) + boundary_graph_curvature_gate_20260515_1855; denominator=13 righe, 8 GUE e 5 Poisson; non_possible=bridge Lab-specific se ogni graph bridge e' anche intermedio classico e non esiste classic-only intermediate; not_tested=flusso Hamiltoniano Rosenzweig-Porter vero, unfolding fisico alternativo, universalita asintotica.
tools/data/reports/agent_20260515_1904.md:15:- **Possibile/non-possibile**: possibile = usare nodi ponte come righe fisiche candidate oltre la classificazione GUE/Poisson; non-possibile = rivendicare un nuovo crossover se i nodi ponte sono solo Brody/Berry-Robnik rietichettato.
tools/data/reports/agent_20260515_1904.md:22:- **PVI attack**: un revisore esterno puo' dire che `third_included_candidate` e' solo un nome Lab per un crossover Brody. Il test attacca esattamente quel presupposto.
tools/data/reports/agent_20260515_1904.md:23:- **Vault**: Rosenzweig-Porter vero resta fuori perimetro; va riattivato solo con Hamiltoniane interpolate, non con fit di CDF su righe gia' generate.
tools/data/reports/agent_20260515_1904.md:32:- **Baseline noto piu' vicino**: Brody distribution per interpolazione Poisson-Wigner; Berry-Robnik per mistura regolare/caotica. Rosenzweig-Porter e' nominato come famiglia di crossover Hamiltoniano, non fit eseguito in questo ciclo.
tools/data/reports/agent_20260515_1904.md:36:- **Risultante audit**: il boundary operativo e' una relazione a due lettori: scalar crossover + posizione nel grafo. Uno dei due da solo perde informazione.
tools/data/reports/agent_20260515_1904.md:47:- **Punto fisico di ritorno**: negli spettri finiti, una finestra non e' boundary perche' ha q intermedio; e' boundary quando q intermedio e posizione multi-feature del grafo vengono confrontati e il residuo resta nominabile.
tools/data/reports/agent_20260515_1904.md:52:- **Script**: `tools/exp_boundary_classical_crossover_audit.py`.
tools/data/reports/agent_20260515_1904.md:53:- **Input graph**: `tools/data/boundary_graph_curvature_gate_20260515_1855.json`.
tools/data/reports/agent_20260515_1904.md:54:- **Run**: `python tools/exp_boundary_classical_crossover_audit.py --out tools/data/boundary_classical_crossover_audit_20260515_1904.json`.
tools/data/reports/agent_20260515_1904.md:58:- **Contratto osservabile-operatore**: il ciclo testa concordanza/disaccordo tra scalare classico e graph state; non testa V_c, denominatori Sturmian, unfolding fisico alternativo o Rosenzweig-Porter Hamiltoniano.
tools/data/reports/agent_20260515_1904.md:72:| numeri_primi:cycle_3 | GUE | third_included_candidate | 0.465 | 0.275 | 0.148459 | classic_and_graph_bridge |
tools/data/reports/agent_20260515_1904.md:78:| percolation:cycle_9 | Poisson | third_included_candidate | 0.025 | 0.025 | 0.054635 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:80:| reaction_diffusion:cycle_11 | GUE | third_included_candidate | 0.000 | 0.000 | 0.174423 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:82:| logistica_biforcazione_var_3.5699:cycle_13 | GUE | third_included_candidate | 0.000 | 0.000 | 0.969277 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:94:Il boundary trasferisce come audit a due lettori. Brody/Berry-Robnik-like e grafo misurano aspetti diversi dello stesso confine; nessuno dei due chiude il terzo incluso da solo.
tools/data/reports/agent_20260515_1904.md:100:- **Campo di possibilita**: possibile = costruire un gate fisico che richiede doppia lettura prima di chiamare boundary; non-possibile = promuovere il grafo 18:55 come scoperta autonoma senza baseline classico.
tools/data/reports/agent_20260515_1904.md:103:Il prossimo ciclo utile non deve aggiungere una terza metrica locale. Deve portare il gate a due lettori su un sistema fisico controllato: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre con finestre energetiche. Il risultato da cercare e' se `graph_only` e `classic_only` sopravvivono fuori dal perimetro composito del Lab.
tools/data/reports/agent_20260515_1904.md:111:- `python -m py_compile tools/exp_boundary_classical_crossover_audit.py` completato.
tools/data/reports/agent_20260515_1904.md:112:- `python tools/exp_boundary_classical_crossover_audit.py --out tools/data/boundary_classical_crossover_audit_20260515_1904.json` completato.
tools/data/reports/agent_20260515_1904.md:118:- Script: `tools/exp_boundary_classical_crossover_audit.py`
tools/data/reports/agent_20260515_1904.md:119:- Data: `tools/data/boundary_classical_crossover_audit_20260515_1904.json`
tools/data/reports/agent_20260515_1933.md:1:# Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/reports/agent_20260515_1933.md:5:**verdict**: CONSTRAINT - il gate a due lettori trasferisce sul flusso Rosenzweig-Porter solo in una riga stabile; il residuo Lab-specific graph-only cade a zero nel perimetro fisico controllato.  
tools/data/reports/agent_20260515_1933.md:8:**observable_contract**: claim=il BOUNDARY a due lettori trasferisce a un crossover fisico controllato solo dove stabilita grafica e intermediacy classica concordano sulla stessa riga lambda; observable=graph_bridge_frequency unito a Brody q, peso Wigner/Poisson, SR e IPR; operator=flusso Hamiltoniano Rosenzweig-Porter diagonal-plus-GUE con perturbazione kNN; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=13 righe lambda x 3 seed x k={2,3,4}; non_possible=claim Lab-specific graph-only se ogni ponte grafico stabile e anche intermedio classico, oppure claim fisico se dominano righe classic-only; not_tested=universalita asintotica RP, unfolding alternativi, spettri sperimentali, many-body localization.
tools/data/reports/agent_20260515_1933.md:17:- **Proto-ipotesi**: il residuo graph-only del perimetro composito Lab non e una legge del boundary; in un flusso fisico controllato sopravvive solo se resta graph bridge senza essere gia spiegato dal crossover classico.
tools/data/reports/agent_20260515_1933.md:19:- **Proiezione**: 13 lambda Rosenzweig-Porter, tre seed, kNN k=2/3/4, Brody/Berry-like e grafo sulle stesse righe.
tools/data/reports/agent_20260515_1933.md:30:- `why`: l'esperimento porta il perimetro vivo GUE/Poisson su un sistema Rosenzweig-Porter controllato e testa il confine come terzo incluso operativo con due lettori.
tools/data/reports/agent_20260515_1933.md:34:- **Baseline noto piu vicino**: crossover Rosenzweig-Porter / Wigner-Dyson-GUE vs Poisson, letto con adjacent gap ratio, Brody q e mistura Wigner/Poisson.
tools/data/reports/agent_20260515_1933.md:35:- **Cosa viene assorbito dal baseline**: la riga `RP_lambda_0.060` e classica e grafica insieme; non e scoperta fisica nuova, e il punto finito in cui i due lettori concordano.
tools/data/reports/agent_20260515_1933.md:37:- **Cosa resta artifact/classificazione grafica**: `RP_lambda_0.100` e ponte parametrico, non stabile; dipende da k e seed.
tools/data/reports/agent_20260515_1933.md:39:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 0`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + Brody/Berry-like row-aligned`. Non sommo le 11 righe classic-only al boundary a due lettori.
tools/data/reports/agent_20260515_1933.md:42:> Nel flusso Rosenzweig-Porter controllato, il BOUNDARY a due lettori sopravvive solo dove una riga lambda e insieme ponte grafico stabile e intermedia classica.
tools/data/reports/agent_20260515_1933.md:51:- **Osservabile/test fisico possibile**: ripetere su Anderson 3D multi-size o RP con unfolding locale; il segnale da cercare e stabilita della riga a due lettori, non crescita del numero di intermedi classici.
tools/data/reports/agent_20260515_1933.md:60:- **Contratto osservabile-operatore**: il ciclo testa trasferimento del gate composito su un flusso fisico; non testa limite asintotico, unfolding dedicato o dati sperimentali.
tools/data/reports/agent_20260515_1933.md:67:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260515_1933.md:80:| RP_lambda_0.000 | 0.000 | classical_poisson_endpoint | 0.000 | 0.000 | 0.383 |
tools/data/reports/agent_20260515_1933.md:81:| RP_lambda_0.030 | 0.000 | classical_intermediate | 0.427 | 0.300 | 0.510 |
tools/data/reports/agent_20260515_1933.md:82:| RP_lambda_0.060 | 1.000 | classical_intermediate | 0.540 | 0.373 | 0.528 |
tools/data/reports/agent_20260515_1933.md:83:| RP_lambda_0.100 | 0.667 | classical_intermediate | 0.653 | 0.420 | 0.524 |
tools/data/reports/agent_20260515_1933.md:84:| RP_lambda_0.180 | 0.222 | classical_intermediate | 0.813 | 0.460 | 0.534 |
tools/data/reports/agent_20260515_1933.md:85:| RP_lambda_0.500 | 0.000 | classical_intermediate | 0.900 | 0.493 | 0.535 |
tools/data/reports/agent_20260515_1933.md:86:| RP_lambda_1.000 | 0.000 | classical_intermediate | 0.980 | 0.507 | 0.534 |
tools/data/reports/agent_20260515_1933.md:89:1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate`, 9/9 letture grafiche.
tools/data/reports/agent_20260515_1933.md:90:2. Verificato: `RP_lambda_0.100` e ponte parametrico, 6/9 letture; non entra nel boundary confermato.
tools/data/reports/agent_20260515_1933.md:98:Il boundary fisico esiste nel perimetro RP finito come una riga a due lettori: `lambda=0.060`. Il residuo graph-only non sopravvive. La parte nuova del ciclo non e una scoperta RP, ma il vincolo operativo: il gate Lab-specific deve perdere autorita quando un flusso Hamiltoniano controllato lo assorbe nel crossover classico.
tools/data/reports/agent_20260515_1933.md:102:- **Singolare**: lambda row-aligned prima della promozione a boundary.
tools/data/reports/agent_20260515_1933.md:108:Il prossimo ciclo utile non deve aumentare il numero di metriche. Deve stressare la riga `RP_lambda_0.060` su taglie/repliche o portare lo stesso contratto su Anderson 3D multi-size. Il criterio e semplice: se la riga a due lettori resta, il gate diventa strumento fisico finite-size; se cade, BOUNDARY torna a scaffold di classificazione.
tools/data/reports/agent_20260515_1724.md:14:- **Operatori laterali scelti**: boundary condition per rendere la fase parte del denominatore; mobility edge come forma fisica del passaggio spettrale; spectrum-preserving style control come controllo random a densita preservata.
tools/exp_prime_vs_mod6_sr_boundary.py:3:Strict prime-vs-mod6 audit for the SR boundary residue.
tools/exp_prime_vs_mod6_sr_boundary.py:5:The previous cycle falsified `prime_SR_persistent_boundary` in the broad
tools/exp_prime_vs_mod6_sr_boundary.py:6:control perimeter and exposed `mod6_candidates` as the nearest antagonist. This
tools/exp_prime_vs_mod6_sr_boundary.py:8:6k +/- 1 candidate windows at the same provider/offset row.
tools/exp_prime_vs_mod6_sr_boundary.py:21:from exp_boundary_residual_beta_absent_audit import support_state
tools/exp_prime_vs_mod6_sr_boundary.py:23:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_prime_vs_mod6_sr_boundary.py:42:def mod6_candidates_between(start: float, end: float) -> np.ndarray:
tools/exp_prime_vs_mod6_sr_boundary.py:82:    candidates = mod6_candidates_between(float(prime_values[0]), float(prime_values[-1]))
tools/exp_prime_vs_mod6_sr_boundary.py:83:    sampled = quantile_downsample(candidates, n_gaps + 1)
tools/exp_prime_vs_mod6_sr_boundary.py:324:        "authority": "tool_candidate"
tools/exp_prime_vs_mod6_sr_boundary.py:340:        "experiment": "prime_vs_mod6_sr_boundary",
tools/exp_prime_vs_mod6_sr_boundary.py:341:        "question": "Does SR belong to prime selection or to the row-local 6k +/- 1 pre-boundary?",
tools/exp_prime_vs_mod6_sr_boundary.py:363:            "generator": "prime gaps from dnd_autoricerca row_spacings and direct sieve; mod6_index_aligned from 6k +/- 1 by same gap offset; mod6_span_matched from 6k +/- 1 candidates inside the matching direct-sieve prime span downsampled to the same denominator",
tools/exp_prime_vs_mod6_sr_boundary.py:366:            "not_tested": "global beta atlas, V_c, gap_ratio, analytic source of mod6 transfer, primality tests inside mod6 candidates",
tools/exp_prime_vs_mod6_sr_boundary.py:501:    parser.add_argument("--out", default="tools/data/prime_vs_mod6_sr_boundary_20260513_0330.json")
tools/data/reports/agent_20260515_1745.md:8:**observable_contract**: claim=`phi` e' stato fisico di confine tra ordine periodico e disordine random solo se statistica spettrale e localizzazione concordano; observable=`spacing_r` + `mean_ipr`/`participation_entropy`; operator=`tools/exp_aubry_boundary_phase_transport_gate.py`; generator=Hamiltoniana tight-binding binaria con sequenze phi/silver/bronze, periodico AB e random bilanciato a densita phi; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..2.50 step 0.25 x generator, random_trials=6; non_possible=promuovere confine fisico da una sola osservabile, da phase0, o da un valore critico aggregato; not_tested=limite asintotico, modello Aubry-Andre coseno canonico, dati sperimentali, classi GUE/Poisson universali dirette.
tools/data/reports/agent_20260515_1745.md:15:- **Operatori laterali scelti**: Hamiltonian spectrum, boundary operator, phase/parallel-transport come memoria del denominatore.
tools/data/reports/agent_20260515_1745.md:46:- `python -m py_compile tools/exp_aubry_boundary_phase_transport_gate.py` completato.
tools/data/reports/agent_20260515_1745.md:47:- Run: `python tools/exp_aubry_boundary_phase_transport_gate.py --out tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json`.
tools/data/reports/agent_20260515_1745.md:69:2. **Verificato**: a V=1.50 la posizione intermedia resta vera per entrambe le osservabili, ma la separazione dal random cade sotto soglia; non e' boundary joint promuovibile.
tools/data/reports/agent_20260515_1745.md:88:Il prossimo ciclo puo' usare `exp_aubry_boundary_phase_transport_gate.py` come gate per ritorni fisici: cercare se la finestra V=0.50..1.25 sopravvive a N piu grandi o a un potenziale Aubry-Andre coseno. Se la finestra si muove, il claim resta finestra row-local; se resta stabile, diventa candidato ponte QxG fisico.
tools/data/reports/agent_20260515_1745.md:105:- `tools/exp_aubry_boundary_phase_transport_gate.py`
tools/data/reports/agent_20260515_1745.md:106:- `tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json`
tools/data/reports/agent_20260508_1915.md:13:- **Piano superiore**: topologia assiomatica del contratto osservabile. Il boundary non si decide dal nome del mode, ma dal livello che sopravvive: congiunzione, singolo label, stabilita' 75%, errore IDS.
tools/data/reports/agent_20260508_1915.md:71:3. **Verificato: il controllo contiguo conserva piu' del supertile anche nel piano per-label.** `same_length_contiguous_shuffle` fa all-high `116/160` contro `108/160`, e per `3` fa `154/160` contro `128/160`. Il boundary esatto del supertile resta non discriminato dal label-set.
tools/data/reports/agent_20260508_1915.md:86:- **Campo di possibilita**: qui diventa possibile cercare il boundary nella geometria degli errori IDS e nella posizione dei gap; qui diventa non-possibile usare all-high, retention mediana e stable-label count come un solo osservabile.
tools/data/reports/agent_20260508_1915.md:89:Costruire il prossimo gate sul piano posizione/errore: per i label core, confrontare distribuzione IDS, rank dei gap selezionati ed errore label fra chunk aligned e misaligned. Il boundary reale deve spostare la geometria dei gap, non solo il set dei label.
tools/exp_vc_unit_boundary_audit.py:3:Audit the V_c=1 boundary after the fit-ready/model gate.
tools/exp_vc_unit_boundary_audit.py:7:window, or are already below 1. The unit boundary is treated as a structural
tools/exp_vc_unit_boundary_audit.py:95:        "experiment": "vc_unit_boundary_audit",
tools/exp_vc_unit_boundary_audit.py:98:            "unit_boundary": "V_c = 1",
tools/exp_vc_unit_boundary_audit.py:102:            "not_tested": "new spectra, new N, new candidates, asymptotic limit beyond observed window",
tools/data/reports/agent_20260430_1946.md:19:- **Sources**: real primes (p > 10000, 50K gaps), GUE (500×500 Hermitian, unfolded, 20 trials), GOE (500×500 symmetric, 20 trials), Poisson (iid exponential, 20 trials), Cramer random primes (same density, no correlations, 20 trials)
tools/data/reports/agent_20260514_1631.md:8:**observable_contract**: claim=il risultato 16:12 va riformulato come tester operativo del confine repulsione/Poisson, non come scoperta fisica; observable=`component_state(SR,L1,triple_var)` con `SR` = adjacent gap ratio canonico; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GUE hermitiano e Anderson 1D `W=6`; denominator=96 repliche per dominio, 95 gap centrali per spettro, 192 eventi trace; null=Poisson span-matched stesso count; non_possible=claim fisico nuovo o legge di transizione se il confronto resta sintetico, finite-size e senza dati sperimentali/unfolding dedicato.
tools/data/reports/agent_20260514_1631.md:24:- **Possibile / non-possibile**: possibile = riusare il tester su spettri ordinati fisici o simulati; non-possibile = promuovere il pattern sintetico a legge fisica senza baseline, classe di simmetria, unfolding e dati esterni.
tools/data/reports/agent_20260514_1631.md:44:- **Adjacent gap ratio**: `SR` canonico del registry, cioe' media di `min(g_i,g_{i+1})/max(g_i,g_{i+1})`, usato come confronto standard senza unfolding fine.
tools/data/reports/agent_20260514_1631.md:72:- **Verificato / operational boundary**: Anderson `W=6` assorbe `SR` nel gate dichiarato (`p=0.028439`, `d=0.229`), pur avendo delta positivo piccolo. Il linguaggio corretto e' assorbito, non zero.
tools/data/reports/agent_20260514_1631.md:75:- **Non verificato**: dati sperimentali, Anderson 3D, many-body localization, GOE/GSE, unfolding dedicato, robuste curve di taglia `N`.
tools/data/reports/agent_20260514_1631.md:85:3. **Verificato**: il confronto Poisson span-matched basta come baseline operativa minima, ma non sostituisce letteratura, dati o unfolding.
tools/data/reports/agent_20260514_1631.md:105:Il passo successivo valido non e' tornare ai primi. E' portare lo stesso tester su un denominatore fisico piu' forte: GOE/GUE scelto per simmetria, Anderson 3D o many-body localization se serve una transizione reale, curve in `N`, e confronto con adjacent gap ratio standard piu' unfolding controllato.
tools/data/reports/agent_20260427_0330.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — the boundary is the third included operative.
tools/data/reports/agent_20260427_0330.md:18:- **Real domains**: primes (10000 unfolded gaps), GUE matrices (400 eigenvalues), logistic map, pure Poisson, coupled oscillators.
tools/data/reports/agent_20260427_0330.md:71:3. **The 29.5% prime ordering fraction at L=10 is real — 3.8x above the artifact floor.** The previous runs found 33% (spectral rigidity) and 33.6% (Markov memory). The slight difference (29.5% vs 33%) comes from different sample sizes and unfolding details. All three independent measurements agree: ~30% of prime spectral rigidity comes from sequential ordering, not from the gap distribution.
tools/data/reports/agent_20260427_0330.md:73:4. **Primes sit at beta_eff = 0.409 — the exact midpoint of the Poisson-GUE crossover.** They are not "GUE-like" or "Poisson-like" — they are the boundary itself. Their gap distribution alone gives intermediate repulsion (beta ~ 0.4). Their sequential ordering adds an additional 30% rigidity that i.i.d. gaps cannot produce.
tools/data/reports/agent_20260427_0330.md:81:- **BOUNDARY**: Primes ARE the boundary. beta_eff = 0.409 places them at the midpoint of the Poisson-GOE crossover. The boundary is not between primes and something else — primes live ON it.
tools/data/reports/agent_20260514_1458.md:8:**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` sopravvive a sottrazione row-local `6k +/- 1`; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con verdict vettoriale e trace obbligatoria; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `mod6_index_aligned` e `mod6_span_matched`; denominator=righe provider-offset paired, 4096 e 8192 gap, p label-swap <= 0.01 richiesto per ogni osservabile focus e ogni antagonista; non_possible=vettore falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista; not_tested=origine analitica del delta, scale oltre 8192 gap, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1458.md:18:- **Piano superiore**: topologia assiomatica del bordo. Il boundary operator non decide dalla label comune, decide dal differenziale che resta dopo sottrazione del pre-bordo.
tools/data/reports/agent_20260514_1458.md:19:- **Operatori laterali scelti**: boundary operator, perche' il claim vive nella sottrazione prime-minus-mod6; parallel transport, perche' provider e offset trasportano la stessa riga fra classi senza cambiare denominatore.
tools/data/reports/agent_20260514_1458.md:42:- **Attraversamento matematico**: boundary operator row-local con label-swap null.
tools/data/reports/agent_20260514_1458.md:50:- Script modificato: `tools/exp_prime_vs_mod6_sr_boundary.py`.
tools/data/reports/agent_20260514_1458.md:100:- `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_1458.md:101:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.json`
tools/data/reports/agent_20260514_1458.md:102:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.trace.jsonl`
tools/data/reports/agent_20260514_1458.md:103:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.json`
tools/data/reports/agent_20260514_1458.md:104:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.trace.jsonl`
tools/data/reports/agent_20260514_1458.md:105:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.json`
tools/data/reports/agent_20260514_1458.md:106:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.trace.jsonl`
tools/data/reports/agent_20260509_1516.md:8:**observable_contract**: claim=il gate `coherent/null/beta` del BOUNDARY sintetico trasferisce sul perimetro semi-reale base; observable=one-sided canonical observables, stable counts ai poli, endpoint distance e ambiguous beta; operator=`exp_semireal_boundary_transfer_gate.py`; generator=13 righe `boundary_denominator_prescan_full_20260509_1500` ricostruite da `dnd_autoricerca`; denominator=13 righe base BOUNDARY, 8 GUE-like e 5 Poisson-like, beta layers 0.0..1.0, 12 replicates, 24 shuffle baselines; non_possible=dichiarare beta 0.3 coordinata universale o transfer completo quando 2/13 righe cadono; not_tested=nuovi domini, nuovi spettri, fit `V_c`, limite asintotico.
tools/data/reports/agent_20260509_1516.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. La domanda non e' se GUE o Poisson vincono, ma se il passaggio resta morfismo quando il perimetro diventa fisico/semi-reale.
tools/data/reports/agent_20260509_1516.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, graph/perimeter transfer. Entrano per separare copertura del denominatore, supporto d'ordine e coordinata di transizione.
tools/data/reports/agent_20260509_1516.md:33:- Nuovo strumento: `tools/exp_semireal_boundary_transfer_gate.py`.
tools/data/reports/agent_20260509_1516.md:34:- Input: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1516.md:35:- Output: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:102:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1437.md`, report `agent_20260509_1444.md`, report `agent_20260509_1457.md`, nuovo JSON `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:113:- Verifica script: `python -m py_compile tools/exp_semireal_boundary_transfer_gate.py`.
tools/data/reports/agent_20260509_1516.md:116:- Run valido: `python tools/exp_semireal_boundary_transfer_gate.py --n-replicates 12 --n-baseline 24 --seed 202605091516 --out tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1516.md:120:- Script nuovo: `tools/exp_semireal_boundary_transfer_gate.py`
tools/data/reports/agent_20260509_1516.md:121:- Data: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`
tools/exp_rp_unfolding_sensitivity_audit.py:3:Unfolding-sensitivity audit for the finite Rosenzweig-Porter BOUNDARY window.
tools/exp_rp_unfolding_sensitivity_audit.py:7:two-reader boundary survives when the spacing normalization is changed to a
tools/exp_rp_unfolding_sensitivity_audit.py:8:local-window unfolding.
tools/exp_rp_unfolding_sensitivity_audit.py:32:from exp_rp_boundary_raw_count_null_audit import (
tools/exp_rp_unfolding_sensitivity_audit.py:43:def local_unfold_gaps(gaps: np.ndarray, window: int) -> np.ndarray:
tools/exp_rp_unfolding_sensitivity_audit.py:67:    unfolding_mode: str,
tools/exp_rp_unfolding_sensitivity_audit.py:80:            if unfolding_mode == "local_window":
tools/exp_rp_unfolding_sensitivity_audit.py:81:                gaps = local_unfold_gaps(gaps, local_window)
tools/exp_rp_unfolding_sensitivity_audit.py:90:    if unfolding_mode == "global_mean":
tools/exp_rp_unfolding_sensitivity_audit.py:92:    elif unfolding_mode == "local_window":
tools/exp_rp_unfolding_sensitivity_audit.py:95:        raise ValueError(f"unknown unfolding mode: {unfolding_mode}")
tools/exp_rp_unfolding_sensitivity_audit.py:122:def compute_row(lam: float, args: argparse.Namespace, n: int, seed: int, unfolding_mode: str) -> dict[str, Any]:
tools/exp_rp_unfolding_sensitivity_audit.py:129:        unfolding_mode,
tools/exp_rp_unfolding_sensitivity_audit.py:137:        "domain_window": f"RP_lambda_{lam:.3f}",
tools/exp_rp_unfolding_sensitivity_audit.py:152:        f"RP_lambda_{lam:.3f}": {
tools/exp_rp_unfolding_sensitivity_audit.py:168:def audit_size_mode(args: argparse.Namespace, n: int, unfolding_mode: str) -> dict[str, Any]:
tools/exp_rp_unfolding_sensitivity_audit.py:182:            compute_row(lam, args, n, seed + (n * 10000) + int(round(lam * 1000)), unfolding_mode)
tools/exp_rp_unfolding_sensitivity_audit.py:186:        rng = np.random.default_rng(seed + n + (0 if unfolding_mode == "global_mean" else 1000003))
tools/exp_rp_unfolding_sensitivity_audit.py:190:            observed_candidates = [
tools/exp_rp_unfolding_sensitivity_audit.py:191:                row["domain_window"] for row in observed if row["boundary_state"] == "third_included_candidate"
tools/exp_rp_unfolding_sensitivity_audit.py:194:                {"n": n, "seed": seed, "k": k, "unfolding_mode": unfolding_mode, "observed_candidates": observed_candidates}
tools/exp_rp_unfolding_sensitivity_audit.py:200:                if graph_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_unfolding_sensitivity_audit.py:212:                    if null_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_unfolding_sensitivity_audit.py:218:                    if null_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_unfolding_sensitivity_audit.py:284:        "unfolding_mode": unfolding_mode,
tools/exp_rp_unfolding_sensitivity_audit.py:301:    modes = [part.strip() for part in args.unfolding_modes.split(",") if part.strip()]
tools/exp_rp_unfolding_sensitivity_audit.py:306:        entries = [entry for entry in by_size_mode if entry["unfolding_mode"] == mode]
tools/exp_rp_unfolding_sensitivity_audit.py:323:        name = f"RP_lambda_{lam:.3f}"
tools/exp_rp_unfolding_sensitivity_audit.py:326:            entries = [entry for entry in by_size_mode if entry["unfolding_mode"] == mode]
tools/exp_rp_unfolding_sensitivity_audit.py:350:        "experiment": "rp_unfolding_sensitivity_audit",
tools/exp_rp_unfolding_sensitivity_audit.py:351:        "question": "Do the RP boundary rows 0.045/0.060 remain thresholded under an alternate local-window unfolding?",
tools/exp_rp_unfolding_sensitivity_audit.py:362:            "unfolding_mode",
tools/exp_rp_unfolding_sensitivity_audit.py:376:            "unfolding_modes": modes,
tools/exp_rp_unfolding_sensitivity_audit.py:384:            "unfolding_stability_clause": "boundary-stable only if row passes all sizes in every unfolding mode",
tools/exp_rp_unfolding_sensitivity_audit.py:387:            "claim": "the finite RP boundary window is unfolding-stable only if the same lambda rows beat label-shuffle and position-shift nulls under global and local spacing normalization",
tools/exp_rp_unfolding_sensitivity_audit.py:388:            "observable": "thresholded two-reader raw-count pass by lambda, size and unfolding mode",
tools/exp_rp_unfolding_sensitivity_audit.py:389:            "operator": "repeat the RP raw-count gate with global mean and local-window unfolded spacings",
tools/exp_rp_unfolding_sensitivity_audit.py:390:            "generator": "H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE across size, seed, k and unfolding mode",
tools/exp_rp_unfolding_sensitivity_audit.py:391:            "denominator": "same lambda grid per size and unfolding; observed denominator seeds*k, null denominators observed*null_trials",
tools/exp_rp_unfolding_sensitivity_audit.py:392:            "non_possible": "unfolding-stable boundary if any promoted lambda fails all-size pass under local-window unfolding",
tools/exp_rp_unfolding_sensitivity_audit.py:399:            "unfolding_sensitive_rows": mode_sensitive,
tools/exp_rp_unfolding_sensitivity_audit.py:413:    parser.add_argument("--out", default="tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json")
tools/exp_rp_unfolding_sensitivity_audit.py:428:    parser.add_argument("--unfolding-modes", default="global_mean,local_window")
tools/data/reports/agent_20260405_0914.md:41:The "boundary" between GUE and Poisson is not a static boundary — it's a **trajectory**.
tools/data/reports/agent_20260405_0914.md:57:The "third included" at the boundary is not a fixed point — it's the trajectory itself.
tools/data/reports/agent_20260514_1605.md:8:**observable_contract**: claim=`prime_minus_mod6_z_vector(SR,L1,triple_var)` regge a 4096/8192 e mostra il primo limite oltre 8192 solo dopo `min_paired_rows` pre-dichiarato; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py` con `--min-paired-rows 10` e trace obbligatoria; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `mod6_index_aligned` e `mod6_span_matched`; denominator=righe provider-offset paired, soglia atomica `min_paired_rows=10`; non_possible=vettore completo falsificato se un osservabile focus ha delta medio <= 0 o p > 0.01 in un antagonista con denominatore valido; not_tested=origine analitica del delta, scale oltre 16384, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1605.md:18:- **Piano superiore**: topologia assiomatica del bordo con boundary operator; il bordo non e' una label, e' una classe di componenti che sopravvivono o cadono sotto antagonista.
tools/data/reports/agent_20260514_1605.md:19:- **Operatori laterali scelti**: boundary operator e finite-size scaling. Il primo localizza quale componente passa il bordo; il secondo impedisce di chiamare scala cio' che e' solo 4096/8192.
tools/data/reports/agent_20260514_1605.md:41:- Patch regressiva: `tools/exp_prime_vs_mod6_sr_boundary.py` ora scrive `denominator_contract` nel JSON e nella trace.
tools/data/reports/agent_20260514_1605.md:81:- **Campo di possibilita**: separare il vettore in strato robusto (`L1,triple_var`) e strato boundary-sensitive (`SR`).
tools/data/reports/agent_20260514_1605.md:94:- `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_1605.md:95:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.json`
tools/data/reports/agent_20260514_1605.md:96:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.trace.jsonl`
tools/data/reports/agent_20260514_1605.md:97:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.json`
tools/data/reports/agent_20260514_1605.md:98:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.trace.jsonl`
tools/data/reports/agent_20260514_1605.md:99:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.json`
tools/data/reports/agent_20260514_1605.md:100:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.trace.jsonl`
tools/data/reports/agent_20260509_1532.md:8:**observable_contract**: claim=la matrice BOUNDARY semi-reale va separata in due assi: `support_transfer` e `beta_coordinate_transfer`; observable=stato row-aligned del supporto ordine/null e stato locale della beta ambigua; operator=`exp_boundary_two_axis_matrix.py`; generator=deposito `semireal_boundary_transfer_gate_20260509_1516` senza uso operativo di label GUE/Poisson; denominator=13 righe BOUNDARY semi-reali del perimetro base; non_possible=salvare il claim "beta 0.3 universale" quando solo 4/13 righe hanno beta 0.3 esatta; not_tested=nuovi domini, nuovi null, nuovi beta layer, fit `V_c`, limite asintotico.
tools/data/reports/agent_20260509_1532.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo non e' una classe; e' una matrice di passaggio fra supporto e coordinata.
tools/data/reports/agent_20260509_1532.md:15:- **Operatori laterali scelti**: boundary operator, graph/perimeter matrix, coordinate split. Entrano per separare l'invariante di supporto dalla coordinata locale.
tools/data/reports/agent_20260509_1532.md:33:- Nuovo strumento: `tools/exp_boundary_two_axis_matrix.py`.
tools/data/reports/agent_20260509_1532.md:34:- Input: `tools/data/semireal_boundary_transfer_gate_20260509_1516.json`.
tools/data/reports/agent_20260509_1532.md:35:- Output: `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:107:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1516.md`, falsifier `falsifier_20260509_1516.json`, script `tools/exp_boundary_two_axis_matrix.py`, JSON `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:118:- Verifica script: `python -m py_compile tools/exp_boundary_two_axis_matrix.py`.
tools/data/reports/agent_20260509_1532.md:119:- Run valido: `python tools/exp_boundary_two_axis_matrix.py --input tools/data/semireal_boundary_transfer_gate_20260509_1516.json --out tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1532.md:124:- Script nuovo: `tools/exp_boundary_two_axis_matrix.py`
tools/data/reports/agent_20260509_1532.md:125:- Data: `tools/data/boundary_two_axis_matrix_20260509_1532.json`
tools/data/reports/agent_20260507_2203.md:28:| TQGE+R+S+U | 5 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair | 0/50,000 sampled |
tools/data/reports/agent_20260507_2203.md:29:| TQGE+R+S+U+V | 6 | QGE | QGR: frame_pair; QGS: scale_pair; QGU: boundary_pair; QGV: observer_pair | 0/50,000 sampled |
tools/data/reports/agent_20260509_0659.md:8:**observable_contract**: claim=il null label-preserving deve essere raggiungibile oltre N=89 prima di usare `V_c` per trasferire il boundary verso altri perimetri; observable=`event_type={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`, `acceptance_rate`; operator=surrogate bilanciato con swap 0/1, gate `label_jaccard>=0.75`, poi curva `r(V)` su griglia 0.5..3.0 step 0.01; generator=phi Sturmian, balanced_random, swap_label_surrogate; denominator=N=144, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, random_trials=1, label_trials=1, swap_steps=120, seed=202605090659; non_possible=se il gate label-preserving non viene raggiunto, il ciclo non puo' usare il surrogate come controprova del boundary Sturmian; not_tested=GUE/Poisson reali, silver/bronze, fit power-law, gap_ratio, sufficienza del label-set con surrogate accettati a N=144.
tools/data/reports/agent_20260509_0659.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + TxQ matrice densita come lettore spettrale + topologia assiomatica del boundary operator + tensione `TRASCENDENZA_LIMITE` sul null `V_c`.
tools/data/reports/agent_20260509_0659.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, swap-constrained surrogate. Il boundary operator separa crossing e floor; la filtrazione produce `r(V)`; lo swap testa se il vincolo label-set e' raggiungibile senza copiare l'ordine Sturmian.
tools/data/reports/agent_20260509_0659.md:20:- **Proiezione**: misuro prima `acceptance_rate` e `label_jaccard`; `event_type` e `V_c` sono riportati come telemetria del surrogate non accettato, non come controprova del boundary.
tools/data/reports/agent_20260509_0659.md:33:- Denominatore grezzo: `phi_sturmian=12` righe evento, `balanced_random=12`, `swap_label_surrogate=12`; 4 sequenze surrogate candidate, una per fase.
tools/data/reports/agent_20260509_0659.md:66:4. **Verificato: il costo del null cresce prima della prova fisica.** I tentativi piu' larghi non chiudono nel budget del cycle; il nodo regressivo e' il generatore del null, non il boundary verso GUE/Poisson.
tools/data/reports/agent_20260509_0659.md:75:- **Due radici**: prova fisica del boundary . raggiungibilita' del contro-campo.
tools/data/reports/agent_20260515_1647.md:14:- **Operatori laterali scelti**: `boundary operator` per separare contesto da direzione; `graph cut` per isolare selector by-mtime; `proof trace vs output trace` per confrontare tool coherence e rebuild risk.
tools/data/reports/agent_20260405_0916.md:47:4. The structural content is NOT the boundary or its direction, but the **persistence** of the excess across 4 orders of magnitude
tools/data/reports/agent_20260515_1807.md:8:**observable_contract**: claim=la finestra `phi_sturmian` 17:45 e' grammatica-completa solo se cade sotto surrogate che preservano densita, memoria corta e spettro del potenziale; observable=joint boundary window da `spacing_r` + `mean_ipr` e distanze surrogate; operator=`tools/exp_aubry_binary_grammar_surrogate_gate.py`; generator=Hamiltoniana tight-binding binaria con `phi_sturmian`, periodico AB, random bilanciato, density shuffle, Markov corto, block shuffle k=8, IAAFT binary PSD; denominator=N={89,144,233} x phase={0,0.25,0.5,0.75} x V=0.50..1.50 step 0.25 x surrogate rows; non_possible=promuovere il boundary come proprieta di phi se un surrogate piu debole conserva la stessa finestra; not_tested=limite asintotico, altri block size, altri algoritmi exact autocorrelation, dati sperimentali.
tools/data/reports/agent_20260515_1807.md:14:- **Piano superiore**: geometria dei campi su reticolo; il boundary e' nella forma del campo binario, non nel numero irrazionale isolato.
tools/data/reports/agent_20260515_1807.md:15:- **Operatori laterali scelti**: boundary operator, Fourier mode / spectral amplitude, short-memory Markov control.
tools/data/reports/agent_20260515_1807.md:24:- `not_drift`: non riapre prime/mod6, non usa selector legacy, non rifitta `V_c`; attacca il nodo regressivo lasciato dalla consecutio 17:58: quale parte della grammatica binaria genera il boundary.
tools/data/reports/agent_20260515_1807.md:28:> La finestra `phi_sturmian` 17:45 e' un boundary-as-grammar solo se density shuffle, memoria corta e PSD-preserving surrogate non conservano la stessa finestra congiunta.
tools/data/reports/agent_20260515_1807.md:32:Il boundary binario nasce dalla parola Sturmian completa, oppure da una statistica piu debole del potenziale come densita, memoria corta o spettro Fourier?
tools/data/reports/agent_20260515_1807.md:40:- **Relazione nuova**: il boundary non appartiene al solo irrazionale phi; appartiene alla quota di ordine binario a lungo raggio che il surrogate IAAFT conserva parzialmente.
tools/data/reports/agent_20260515_1807.md:51:- Gate: `joint_boundary = spacing_r_between and mean_ipr_between and separated_from_random`.
tools/data/reports/agent_20260515_1807.md:52:- Contratto osservabile-operatore: il ciclo testa boundary window e profilo surrogate; non testa `gap_ratio`, `V_c` asintotico, universalita GUE/Poisson o dati sperimentali.
tools/data/reports/agent_20260515_1807.md:56:| domain | joint boundary V | median hamming | median acf_l1 | median psd_l1 |
tools/data/reports/agent_20260515_1807.md:75:2. **Verificato**: density shuffle, Markov corto e block shuffle k=8 non conservano alcun valore V con boundary congiunto.
tools/data/reports/agent_20260515_1807.md:83:La formulazione valida diventa: nel perimetro misurato, il boundary binario `phi` e' `boundary-as-long-range-binary-order`. La grammatica completa serve per chiudere V=1.00 e V=1.25; il profilo PSD/autocorrelazione vicino basta per trasportare V=0.50 e V=0.75. Non si puo promuovere `phi` come proprieta autonoma, e non si puo ridurre il finding a densita, Markov locale o blocchi.
tools/data/reports/agent_20260515_1807.md:89:- **Invariante di passaggio**: il boundary fisico deve dichiarare quale strato del generatore sopravvive: densita, memoria corta, PSD o parola completa.
tools/data/reports/agent_20260515_1807.md:98:ssp_value: yes. Lo script e' un gate riusabile per generare potenziali binari controllati prima di costruire demo fisiche del boundary: distingue densita, memoria corta, blocchi e PSD.
tools/data/reports/agent_20260515_1904.md:7:observables_used: [brody_q, berry_robnick_like_gue_weight, mixture_ks, graph_boundary_state_from_1855, centroid_margin_from_1855, cross_neighbor_fraction_from_1855]
tools/data/reports/agent_20260515_1904.md:8:**observable_contract**: claim=il bridge Lab conserva residuo dopo confronto con scalari classici di crossover; observable=Brody q row-aligned, peso GUE Berry-Robnik-like, stato ponte del grafo 18:55; operator=classical scalar audit sulle stesse 13 righe BOUNDARY; generator=row_spacings(domain) + boundary_graph_curvature_gate_20260515_1855; denominator=13 righe, 8 GUE e 5 Poisson; non_possible=bridge Lab-specific se ogni graph bridge e' anche intermedio classico e non esiste classic-only intermediate; not_tested=flusso Hamiltoniano Rosenzweig-Porter vero, unfolding fisico alternativo, universalita asintotica.
tools/data/reports/agent_20260515_1904.md:15:- **Possibile/non-possibile**: possibile = usare nodi ponte come righe fisiche candidate oltre la classificazione GUE/Poisson; non-possibile = rivendicare un nuovo crossover se i nodi ponte sono solo Brody/Berry-Robnik rietichettato.
tools/data/reports/agent_20260515_1904.md:22:- **PVI attack**: un revisore esterno puo' dire che `third_included_candidate` e' solo un nome Lab per un crossover Brody. Il test attacca esattamente quel presupposto.
tools/data/reports/agent_20260515_1904.md:23:- **Vault**: Rosenzweig-Porter vero resta fuori perimetro; va riattivato solo con Hamiltoniane interpolate, non con fit di CDF su righe gia' generate.
tools/data/reports/agent_20260515_1904.md:32:- **Baseline noto piu' vicino**: Brody distribution per interpolazione Poisson-Wigner; Berry-Robnik per mistura regolare/caotica. Rosenzweig-Porter e' nominato come famiglia di crossover Hamiltoniano, non fit eseguito in questo ciclo.
tools/data/reports/agent_20260515_1904.md:36:- **Risultante audit**: il boundary operativo e' una relazione a due lettori: scalar crossover + posizione nel grafo. Uno dei due da solo perde informazione.
tools/data/reports/agent_20260515_1904.md:47:- **Punto fisico di ritorno**: negli spettri finiti, una finestra non e' boundary perche' ha q intermedio; e' boundary quando q intermedio e posizione multi-feature del grafo vengono confrontati e il residuo resta nominabile.
tools/data/reports/agent_20260515_1904.md:52:- **Script**: `tools/exp_boundary_classical_crossover_audit.py`.
tools/data/reports/agent_20260515_1904.md:53:- **Input graph**: `tools/data/boundary_graph_curvature_gate_20260515_1855.json`.
tools/data/reports/agent_20260515_1904.md:54:- **Run**: `python tools/exp_boundary_classical_crossover_audit.py --out tools/data/boundary_classical_crossover_audit_20260515_1904.json`.
tools/data/reports/agent_20260515_1904.md:58:- **Contratto osservabile-operatore**: il ciclo testa concordanza/disaccordo tra scalare classico e graph state; non testa V_c, denominatori Sturmian, unfolding fisico alternativo o Rosenzweig-Porter Hamiltoniano.
tools/data/reports/agent_20260515_1904.md:72:| numeri_primi:cycle_3 | GUE | third_included_candidate | 0.465 | 0.275 | 0.148459 | classic_and_graph_bridge |
tools/data/reports/agent_20260515_1904.md:78:| percolation:cycle_9 | Poisson | third_included_candidate | 0.025 | 0.025 | 0.054635 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:80:| reaction_diffusion:cycle_11 | GUE | third_included_candidate | 0.000 | 0.000 | 0.174423 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:82:| logistica_biforcazione_var_3.5699:cycle_13 | GUE | third_included_candidate | 0.000 | 0.000 | 0.969277 | graph_only_bridge |
tools/data/reports/agent_20260515_1904.md:94:Il boundary trasferisce come audit a due lettori. Brody/Berry-Robnik-like e grafo misurano aspetti diversi dello stesso confine; nessuno dei due chiude il terzo incluso da solo.
tools/data/reports/agent_20260515_1904.md:100:- **Campo di possibilita**: possibile = costruire un gate fisico che richiede doppia lettura prima di chiamare boundary; non-possibile = promuovere il grafo 18:55 come scoperta autonoma senza baseline classico.
tools/data/reports/agent_20260515_1904.md:103:Il prossimo ciclo utile non deve aggiungere una terza metrica locale. Deve portare il gate a due lettori su un sistema fisico controllato: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre con finestre energetiche. Il risultato da cercare e' se `graph_only` e `classic_only` sopravvivono fuori dal perimetro composito del Lab.
tools/data/reports/agent_20260515_1904.md:111:- `python -m py_compile tools/exp_boundary_classical_crossover_audit.py` completato.
tools/data/reports/agent_20260515_1904.md:112:- `python tools/exp_boundary_classical_crossover_audit.py --out tools/data/boundary_classical_crossover_audit_20260515_1904.json` completato.
tools/data/reports/agent_20260515_1904.md:118:- Script: `tools/exp_boundary_classical_crossover_audit.py`
tools/data/reports/agent_20260515_1904.md:119:- Data: `tools/data/boundary_classical_crossover_audit_20260515_1904.json`
tools/data/reports/agent_20260429_1013.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — the boundary is the operative third included.
tools/data/reports/agent_20260429_1013.md:16:- **Observable**: Brody beta (MLE from unfolded gaps) and r-statistic (consecutive spacing ratio) in sliding windows along the prime sequence.
tools/data/reports/agent_20260429_1013.md:57:1. **Primes flow toward Poisson, not toward GUE.** beta decreases from 0.46 (near p ~ 22K) to 0.33 (near p ~ 2M). The GUE/Poisson boundary is not a fixed point — it is a trajectory. The linear fit beta(p) = 0.64 - 0.030 * ln(p) has R^2 = 0.78.
tools/data/reports/agent_20260429_1013.md:75:The full picture is a 2D map beta(N, L) with opposing gradients. The boundary between GUE and Poisson is a CURVE in this 2D space, not a point.
tools/data/reports/agent_20260429_1013.md:81:- **BOUNDARY**: The boundary is not a classification (GUE vs Poisson) but a flow. Primes start closer to GUE at small N and drift toward Poisson at large N. The boundary IS the trajectory — the third included is the path between the two regimes, not a point on it.
tools/data/reports/agent_20260515_1659.md:14:- **Operatori laterali scelti**: `boundary operator` per separare contesto e direzione; `graph cut` per isolare i selector legacy; `proof trace vs output trace` per confrontare matrice, coherence e preflight.
tools/data/reports/agent_20260515_1816.md:15:- **Operatori laterali scelti**: boundary condition, eigenvector localization, non-phi generator control.
tools/data/reports/agent_20260515_1816.md:28:> A V=2, il boundary si conserva come proprieta del generatore: binario Sturmian, coseno continuo e null disorder hanno tau di partecipazione distinti; la specificita phi sopravvive solo se phi binario separa anche dai controlli Sturmian non-phi.
tools/data/reports/agent_20260515_1816.md:90:La formulazione valida e': a V=2 il boundary e' proprieta della classe del generatore, non del solo phi. Il binario Sturmian produce scaling piu esteso del coseno continuo e del disorder, ma il controllo silver resta troppo vicino per chiamarlo phi-specific.
tools/data/reports/agent_20260515_1816.md:97:- **Campo di possibilita**: possibile = progettare test fisici che separano coseno, binario ordinato e disorder alla stessa ampiezza V=2; non-possibile = promuovere `phi` come boundary autonomo finche silver/bronze restano nello stesso corridoio di tau.
tools/data/reports/agent_20260506_0330.md:21:- **Domains**: 30,000 prime gaps; GUE (253 unfolded spacings from 23x23 Hermitian matrix).
tools/data/reports/agent_20260506_0330.md:64:4. **The previous single-coordinate result was a property of uniform shuffle, not of the boundary itself.** Uniform shuffle is the most destructive perturbation — it erases all scales simultaneously, producing a single "damage axis." Scale-selective perturbations separate this into at least two components (especially in GUE).
tools/data/reports/agent_20260506_0330.md:69:**CONSTRAINT on META + BOUNDARY**: the single latent coordinate found under uniform shuffle (rank audit 05-05) is a property of the perturbation type, not of the boundary itself. Scale-selective perturbations reveal a second axis in GUE (PC2=25.2%) and a weak second axis in primes (PC2=2.6%). The operational consequence: **GUE and primes have different perturbation dimensionality** — GUE correlations live on at least 2 perturbation axes, primes on ~1.3. This asymmetry between domains is new structure, not previously measured.
tools/data/reports/agent_20260506_0330.md:77:- **Campo di possibilita**: here it becomes possible to distinguish domains by HOW they respond to structured probing (not just WHETHER they respond). Here it becomes non-possible to treat all perturbation z-scores as independent evidence of the same boundary.
tools/data/reports/agent_20260506_0330.md:82:- **L3 no silent patching**: The rank audit claim (05-05: "boundary is 1D in observable space") is NOT declared resolved. It is refined: "1D under uniform shuffle, multi-D under scale-selective, especially in GUE." The distinction is explicit.
tools/data/reports/agent_20260509_0829.md:8:**observable_contract**: claim=la soglia di memoria del boundary si vede variando blocchi e periodi attorno alle scale 21/34; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `event_type`, `vc_interp`, `r_floor`; operator=griglia fine di block shuffle e periodic approximant contro lettore gap-label phi e curva `r(V)`; generator=non-Sturmian candidate pool gia' usato nel gate 08:19; denominator=`N=144`, phases `{0,0.25,0.5,0.75}`, r_threshold `{0.48,0.50,0.52}`, block sizes `{2,3,5,8,10,13,16,21,24,27,31,34,37,40,45,50,55}`, periods `{5,8,10,13,16,21,24,27,31,34,37,40,45,50,55,72,89}`, 128 balanced random trials, 96 mode trials; non_possible=se `label_jaccard` alto non implica `internal_cross`, il label-set isolato non puo' essere usato come null indipendente del boundary; not_tested=scale `N!=144`, fit power-law, GUE/Poisson transfer, gap_ratio.
tools/data/reports/agent_20260509_0829.md:14:- **Operatori laterali scelti**: boundary operator, periodic approximant, cut a blocchi. Entrano per separare scala conservata, periodo chiuso e dispersione random.
tools/data/reports/agent_20260509_0829.md:18:  - **Cornelius gene**: "Il boundary passa quando memoria e crossing co-operano; cade quando il label-set resta solo."
tools/data/reports/agent_20260509_0829.md:21:- **Proto-ipotesi**: il boundary non ha una soglia unica di memoria. Il taglio a blocchi conserva crossing su molte scale anche quando il label-set e' medio; l'approssimante periodico puo' conservare label senza crossing. La dualita' operativa e' memoria di ordine / chiusura periodica.
tools/data/reports/agent_20260509_0829.md:28:Quando `label_jaccard` resta alto ma `internal_cross` cade, il boundary e' ancora trasporto di memoria o solo conservazione del vocabolario topologico?
tools/data/reports/agent_20260509_0829.md:73:**CONSTRAINT**: nel perimetro `N=144`, il boundary non e' determinato da `label_jaccard` da solo. Il block shuffle lungo conserva il crossing anche quando il label mediano non supera sempre il gate; l'approssimante periodico puo' passare il gate come candidato e perdere il crossing. Il contratto valido e': `source_mode + memoria di scala + event_type`, non `label_jaccard` isolato.
tools/data/reports/agent_20260509_0829.md:81:- **Campo di possibilita**: qui diventa possibile costruire un null a due assi (`label_jaccard`, `event_type`) per il boundary; qui diventa non-possibile usare `label_jaccard>=0.75` come certificato di indipendenza.
tools/data/reports/agent_20260509_0829.md:84:Il prossimo passo e' fare il passaggio fuori da `N=144`: ripetere solo sui modi discriminanti (`block_shuffle_21/34/45`, `periodic_21/45/72`, random, Markov) a `N={89,144,233,377}`. Se block e periodic si separano anche in scala, il boundary ha due assi stabili; se collassano, la separazione era un artefatto di `N=144`.
tools/data/reports/agent_20260509_1839.md:9:**observable_contract**: claim=la tassonomia delle transizioni post-estensione scala se nessuna delle 13 righe resta `thin_persists`; observable=`transition_class` row-aligned sulle 13 righe; operator=`exp_boundary_transition_taxonomy_13rows.py`; generator=composizione dei depositi 15:32, 15:38, 15:56 e prescan 15:00 senza rigenerare segnali; denominator=13 righe BOUNDARY semi-reali; non_possible=promuovere `blank_thin_support` come specie autonoma se `thin_persist_rows=0`; not_tested=nuova griglia beta, nuovi null, fit `V_c`, validita' label GUE/Poisson sorgente.
tools/data/reports/agent_20260509_1839.md:15:- **Piano superiore**: sheaf locale del boundary su 13 sezioni. La sezione corta viene riparata, poi ricollocata nell'atlante senza usare label GUE/Poisson.
tools/data/reports/agent_20260509_1839.md:16:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, coordinate chart. Servono a comporre stati gia' misurati senza introdurre un nuovo gate.
tools/data/reports/agent_20260509_1839.md:17:- **Contaminazione cognitiva**: CE-0019: contratto combo prima della misura; CE-0022: palette come boundary operator e chart locale; KSAR: riuso del deposito stabile 15:32-15:56; PVI: se resta `thin_persists`, la tassonomia cade.
tools/data/reports/agent_20260509_1839.md:34:- Nuovo strumento: `tools/exp_boundary_transition_taxonomy_13rows.py`.
tools/data/reports/agent_20260509_1839.md:35:- Input: `boundary_two_axis_matrix_20260509_1532.json`, `boundary_row_aligned_nonexact_audit_20260509_1538.json`, `boundary_short_denominator_extension_20260509_1556.json`, `boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1839.md:36:- Output: `tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`.
tools/data/reports/agent_20260509_1839.md:102:`blank_thin_support` = specie autonoma del boundary.
tools/data/reports/agent_20260509_1839.md:104:Il boundary resta una matrice di transizioni: supporto che cade, supporto che si ispessisce senza beta, chart beta recuperata, chart beta esatta, chart locale non unica, chart spostata.
tools/data/reports/agent_20260509_1839.md:127:- Verifica script: `python -m py_compile tools/exp_boundary_transition_taxonomy_13rows.py`.
tools/data/reports/agent_20260509_1839.md:128:- Run valido: `python tools/exp_boundary_transition_taxonomy_13rows.py --out tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`.
tools/data/reports/agent_20260509_1839.md:133:- Script nuovo: `tools/exp_boundary_transition_taxonomy_13rows.py`
tools/data/reports/agent_20260509_1839.md:134:- Data: `tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json`
tools/data/reports/agent_20260509_0741.md:8:**observable_contract**: claim=il generatore surrogate per `V_c` deve raggiungere `Jaccard>=0.75` a N=144 con acceptance_rate non nulla prima del trasferimento GUE/Poisson; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `event_type`, `vc_interp`, `r_floor`, `r_span`; operator=aggiunta di candidati `phase_shift_sturmian` al generatore label-preserving, poi lettura della curva `r(V)`; generator=phi Sturmian, balanced_random, phase_shift_sturmian dentro `swap_label_surrogate`; denominator=N=144, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, label_trials=2, phase_candidate_trials=64, swap_steps=0; non_possible=se il gate passa solo con source_mode Sturmian, il null e' ponte strutturato e non controprova indipendente del boundary; not_tested=GUE/Poisson, silver/bronze, fit power-law, gap_ratio, indipendenza del null fuori da source_mode Sturmian.
tools/data/reports/agent_20260509_0741.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, trasporto di fase. Il boundary operator separa floor e crossing; la filtrazione produce la curva; il trasporto di fase testa reachability del label-set senza fingere indipendenza.
tools/data/reports/agent_20260509_0741.md:30:- Patch: aggiunta sorgente `phase_shift_sturmian` esplicita, con parametro `--phase-candidate-trials`.
tools/data/reports/agent_20260509_0741.md:34:- Run valido: `N=144`, 4 fasi, 2 candidati label per fase, 64 phase-candidates per candidato, `swap_steps=0`.
tools/data/reports/agent_20260509_0741.md:35:- Denominatore grezzo: `8` sequenze surrogate candidate; `24` righe evento per soglie `0.48/0.50/0.52`.
tools/data/reports/agent_20260509_0741.md:67:2. **Verificato: il ponte accettato conserva la forma Sturmian del boundary.** Le righe surrogate hanno `24/24` internal_cross, `0` floor-hit e `0` internal_multi; il random bilanciato resta misto (`3/12` floor-hit, `6/12` internal_cross, `3/12` internal_multi).
tools/data/reports/agent_20260509_0741.md:68:3. **Verificato: il risultato non e' indipendenza del null.** Tutti i surrogate accettati hanno `source_mode=phase_shift_sturmian`. Quindi il gate dimostra reachability del label-set dentro la famiglia Sturmian, non controprova esterna del boundary.
tools/data/reports/agent_20260509_0741.md:73:**CONSTRAINT**: il null label-preserving per `V_c` raggiunge `Jaccard>=0.75` a `N=144` con acceptance_rate non nulla (`6/8` sequenze, `0.75` sulle righe evento), ma solo come `phase_shift_sturmian`. Quindi il Lab ha un ponte strutturato accettabile per testare coerenza interna del boundary, non un contro-campo indipendente per trasferire verso GUE/Poisson.
tools/data/reports/agent_20260509_0741.md:75:La formulazione valida e': `phase_shift_sturmian` chiude il problema di reachability a N=144; non chiude il problema di indipendenza. Il prossimo confronto deve costruire un null non-Sturmian con `source_mode` diverso e `hamming_ratio` dichiarato, oppure dichiarare che il boundary `V_c` resta definito dentro la famiglia Sturmian.
tools/data/reports/agent_20260509_0741.md:98:- Run valido: `python tools/exp_vc_label_preserving_swap_gate.py --ns 144 --phases 0,0.25,0.5,0.75 --random-trials 1 --label-trials 2 --swap-steps 0 --structured-trials 0 --phase-candidate-trials 64 --min-hamming-ratio 0.03 --seed 202605090741 --out tools/data/vc_label_preserving_phase_bridge_20260509_0741.json`.
tools/data/reports/agent_20260509_0837.md:8:**observable_contract**: claim=la separazione ordine aperto / chiusura periodica / dispersione random trasferisce fuori da `N=144`; observable=`label_jaccard`, `acceptance_rate`, `hamming_ratio`, `source_mode`, `generator_class`, `event_type`, `vc_interp`, `r_floor`; operator=scansione multi-scala dei modi discriminanti del gate 08:29; generator=phi_sturmian, block_shuffle_{21,34,45}, periodic_approximant_{21,45,72}, balanced_random, markov_density; denominator=`N={89,144,233,377}`, phases `{0,0.25,0.5,0.75}`, r_threshold `{0.48,0.50,0.52}`, 5,766 candidati non-Sturmian post hamming gate; non_possible=se periodic closure accetta label ma produce `no_cross`, `label_jaccard` non certifica boundary-crossing; not_tested=fit power-law di `V_c`, gap_ratio, scale oltre `N=377`, generatori diversi da quelli discriminanti.
tools/data/reports/agent_20260509_0837.md:11:- **Prima impressione**: il boundary non chiede un valore di scala; chiede il tipo di memoria che sopravvive quando il denominatore cambia.
tools/data/reports/agent_20260509_0837.md:14:- **Piano superiore**: topologia assiomatica e grafo delle classi operative. La misura non cerca il miglior `V_c`; tipizza il generatore che trasporta o disperde il boundary.
tools/data/reports/agent_20260509_0837.md:15:- **Operatori laterali scelti**: boundary condition, word cut, periodic approximant. Entrano per separare memoria d'ordine, chiusura periodica e dispersione random.
tools/data/reports/agent_20260509_0837.md:22:- **Proiezione**: ripeto solo i modi discriminanti a quattro N. Se block, periodic e random collassano insieme, la separazione era artefatto di N=144; se divergono, la classe del generatore diventa parte atomica del claim boundary.
tools/data/reports/agent_20260509_0837.md:76:| source_mode | accepted / candidates | acceptance_rate | best_label_jaccard |
tools/data/reports/agent_20260509_0837.md:92:5. **Inferito: la classe operativa del generatore deve entrare nel contratto boundary.** `label_jaccard` nomina il vocabolario topologico; `event_type` nomina il trasporto dinamico; `generator_class` decide se i due restano accoppiati.
tools/data/reports/agent_20260509_0837.md:95:**CONSTRAINT**: la separazione di N=144 trasferisce nel perimetro `N={89,144,233,377}`. Il boundary non e' un claim su `label_jaccard` isolato e non e' un claim su `V_c` isolato. Il contratto valido e':
tools/data/reports/agent_20260509_0837.md:105:- **Campo di possibilita**: qui diventa possibile costruire una scansione boundary tipizzata per classi di generatore; qui diventa non-possibile trattare `V_c` scaling o `label_jaccard` come osservabile sufficiente senza `source_mode/event_type`.
tools/data/reports/agent_20260509_0837.md:115:- **L4 edge cases**: a `N=89` periodic closure best-per-mode ha `33/33` internal_cross ma label mediano `0.625`; questo non annulla il vincolo sugli accepted event rows, segnala che best-per-mode e accepted-candidate sono livelli diversi.
tools/data/reports/agent_20260509_0637.md:8:**observable_contract**: claim=la forma `r(V)` del boundary Sturmian-Harper e' sostenuta da attraversamenti interni, non da collasso al bordo minimo della filtrazione; observable=`event={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`; operator=curva `r(V)` su griglia 0.5..3.0 step 0.01, crossing lineare e classificazione del primo stato rispetto a `r_threshold={0.48,0.50,0.52}`; generator=phi Sturmian, phase-shuffle Sturmian, random bilanciato, surrogate random selezionato per overlap label-set; denominator=N={89,144,233}, phase={0,0.25,0.5,0.75}, phase_trials=2, random_trials=2, label_trials=2, label_candidates=5, seed=202605090637; non_possible=se un null che preserva label-set produce crossing interno unico e stesso `r_floor` dei generatori Sturmian, `V_c` non e' piu' boundary map di ordine Sturmian; not_tested=GUE/Poisson reali, silver/bronze in questo ciclo, fit power-law, label-preserving forte con accettazione Jaccard>=0.75.
tools/data/reports/agent_20260509_0637.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, spectrum-preserving surrogate. Il boundary operator separa floor e interno; la filtrazione scorre `V`; il surrogate tenta di conservare il lettore label-set prima di misurare il crossing.
tools/data/reports/agent_20260509_0637.md:19:- **Proto-ipotesi**: se il boundary e' effetto di ordine Sturmian, allora le fasi Sturmian devono conservare crossing interno senza floor-hit; se basta preservare parzialmente il label-set, il surrogate random deve recuperare lo stesso evento interno unico. Se il surrogate non preserva il label-set, il ciclo produce un vincolo sul generatore del null.
tools/data/reports/agent_20260509_0637.md:80:**CONSTRAINT on V_c null**: nel perimetro `N={89,144,233}`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, il boundary Sturmian e' crossing interno unico. Il random bilanciato non e' un contro-campo omogeneo: contiene floor-hit e multi-crossing. La separazione precedente metallico/random resta valida come distinzione di evento, ma il ciclo non chiude il claim label-set perche' il surrogate label-preserving non preserva davvero il label-set.
tools/data/reports/agent_20260509_0330.md:8:**observable_contract**: claim=la forma locale della curva `r(V)` puo' sostituire il primo crossing su griglia come portatore del boundary Sturmian-Harper; observable=`vc_interp`, `slope_at_cross`, `crossing_count`, `r_span`; operator=curva `r(V)` su griglia 0.5..3.0 step 0.01 con crossing lineare interpolato per `r_threshold={0.48,0.50,0.52}`; generator=Sturmian metallici phi/silver/bronze e random bilanciato a densita phi; denominator=N={89,144,233,377,610}, phase={0,0.25,0.5,0.75}, 3 random trial per condizione, seed=202605090330; not_tested=gap_ratio, label-set Sturmian, fit power-law asintotico, domini reali GUE/Poisson, prova formale di monotonia.
tools/data/reports/agent_20260509_0330.md:14:- **Operatori laterali scelti**: filtrazione, boundary operator, curve-shape. La filtrazione scorre il parametro `V`; il boundary operator nomina `r(V)=threshold`; curve-shape attacca il nodo regressivo del cycle precedente, dove la griglia decideva al posto del confine.
tools/data/reports/agent_20260509_0330.md:18:  - **CE-0001 / KSAR**: reiterazione del kernel 21:40: stesso boundary, un solo nodo cambiato, da prima griglia a curva interpolata.
tools/data/reports/agent_20260509_0330.md:20:- **Proto-ipotesi**: se il portatore del boundary e' la forma della curva `r(V)`, allora i metallici devono avere crossing unico e ordinato sotto variazione di fase/soglia, mentre il random bilanciato deve perdere questa struttura; se phi resta solo un anticipo mediano con contro-casi, il risultato e' un vincolo sul boundary observable, non una legge phi.
tools/data/reports/agent_20260509_0330.md:24:> Nel perimetro Sturmian-Harper testato, la curva interpolata `r(V)` conserva un boundary metallico distinguibile dal random e chiarisce se `V_c(phi)` e' portatore strutturale o solo diagnostico phase-sensitive.
tools/data/reports/agent_20260509_0330.md:27:Il passaggio da primo crossing su griglia a crossing interpolato fa emergere una forma stabile del boundary, oppure conferma che `V_c` resta osservabile diagnostico senza generare un claim phi-specific?
tools/data/reports/agent_20260509_0330.md:41:- Contratto osservabile-operatore: `gap_ratio`, label-set, supertile boundary e fit power-law non vengono testati in questo ciclo.
tools/data/reports/agent_20260509_0330.md:102:**CONSTRAINT on TENS_SCALE_TRASCENDENZA_LIMITE**: nel perimetro Sturmian-Harper `N={89,144,233,377,610}`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, il crossing interpolato conferma che il boundary metallico ha una forma di curva: crossing unico e discesa ordinata da repulsione a indipendenza. Non conferma `V_c(phi)` come portatore phi-specific hard: phi anticipa i controlli in mediana e in `42/60` matched, ma `18/60` contro-casi impediscono claim di separazione completa.
tools/data/reports/agent_20260509_0330.md:104:La formulazione valida e': `r(V)` e' un boundary map utile per distinguere generatore Sturmian da random bilanciato; `V_c` e' coordinata diagnostica phase/threshold-sensitive, non legge di scala e non generatore di claim phi-specific nel perimetro testato.
tools/data/reports/agent_20260509_0330.md:107:- **Due radici**: crossing discreto di griglia . curva interpolata del boundary.
tools/data/reports/agent_20260509_0330.md:110:- **Campo di possibilita**: qui diventa possibile usare `r(V)` come boundary map contro null random; qui diventa non-possibile promuovere `V_c(phi)` a legge di scala o firma esclusiva senza denominatore atomico.
tools/data/reports/agent_20260509_0330.md:121:- **L5 re-discovery vs discovery**: tight-binding Sturmian e r-statistic sono standard; il finding e' il vincolo sul boundary observable e il passaggio da grid gate a curve-map.
tools/data/reports/agent_20260504_0901.md:9:> The previous run found two orthogonal visible layers in prime gap memory: Layer 1 (pairs: SR, L1) and Layer 2 (triples: SR2, triple_var). The crossover under partial shuffle shows a phase transition in the (SR, L1) plane. META question: does Layer 2 transition at a different critical alpha than Layer 1? If yes, the boundary has genuine 3D depth. If no, the two layers are projections of a single phase transition.
tools/data/reports/agent_20260504_0901.md:57:1. **The two Markov layers are coupled at the boundary.** For primes, the critical alpha is identical across all 4 observables (0.334). For GUE, the difference is 0.024 (within the alpha step resolution of 0.047). The partial shuffle destroys pair-statistics and triple-statistics at the same rate. The boundary is a single phase transition, not two independent ones.
tools/data/reports/agent_20260504_0901.md:69:- **L3 (no silent patching)**: This does NOT falsify the two-layer finding. The layers remain real as a decomposition of Markov order sensitivity. What's constrained is their independence at the boundary.
tools/data/reports/agent_20260504_0901.md:75:**CONSTRAINT on BOUNDARY + DIPOLAR_ORDERING**: The two Markov layers (pairs → plane, triples → depth) are coupled at the partial-shuffle boundary. The boundary is a single phase transition with one critical alpha (~0.33 for 50% retention). The two-layer decomposition describes WHAT is measured (which observables are sensitive to which Markov order), not HOW the ordering is destroyed. The boundary remains 2D in the shuffle parameter.
tools/data/reports/agent_20260504_0901.md:83:- **Invariante di passaggio**: The critical alpha (0.334) survives across layers and across structured sequences (primes and GUE). The boundary location is invariant to which layer you observe through.
tools/data/reports/agent_20260504_0901.md:84:- **Campo di possibilita**: Possible — search for selective perturbations that decouple the layers (pair-preserving shuffle, triple-preserving shuffle). Not possible — claim the boundary has independent depth dimensions from partial shuffle alone.
tools/data/reports/agent_20260504_0901.md:88:- Script: `tools/exp_3d_boundary_layers.py` (reusable, parameterized)
tools/data/reports/agent_20260504_0901.md:89:- Data: `tools/data/3d_boundary_layers.json`
tools/data/reports/agent_20260509_1548.md:8:**observable_contract**: claim=i tre `blank_thin_support` vanno falsificati contro il blank medio `numeri_primi` prima di promuoverli a specie autonoma; observable=telemetria row-aligned del subset `support_without_beta_blank`; operator=`exp_boundary_blank_thin_support_audit.py`; generator=`boundary_row_aligned_nonexact_audit_20260509_1538`; denominator=4 righe `support_without_beta_blank`, di cui 3 thin e 1 medium control; non_possible=chiamare il blank sottile specie autonoma se tutte le righe thin sono spiegate da denominatore corto; not_tested=estensione nuova dei tre domini short, nuova griglia beta, nuovi null, fit `V_c`.
tools/data/reports/agent_20260509_1548.md:14:- **Piano superiore**: sheaf locale del boundary. La sezione beta e' vuota su tutte e quattro le righe; il discriminante diventa la qualita' del supporto e del denominatore.
tools/data/reports/agent_20260509_1548.md:15:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, filtrazione per denominatore. Servono a separare stato beta invariato da supporto misurabile.
tools/data/reports/agent_20260509_1548.md:30:I tre blank sottili sono fallimenti autonomi del boundary, oppure righe con supporto insufficiente perche' corte?
tools/data/reports/agent_20260509_1548.md:33:- Nuovo strumento: `tools/exp_boundary_blank_thin_support_audit.py`.
tools/data/reports/agent_20260509_1548.md:34:- Input: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1548.md:35:- Output: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:114:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, report `agent_20260509_1538.md`, JSON `boundary_row_aligned_nonexact_audit_20260509_1538.json`, script `tools/exp_boundary_blank_thin_support_audit.py`, output `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:125:- Verifica script: `python -m py_compile tools/exp_boundary_blank_thin_support_audit.py`.
tools/data/reports/agent_20260509_1548.md:126:- Run valido: `python tools/exp_boundary_blank_thin_support_audit.py --input tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json --out tools/data/boundary_blank_thin_support_audit_20260509_1548.json`.
tools/data/reports/agent_20260509_1548.md:131:- Script nuovo: `tools/exp_boundary_blank_thin_support_audit.py`
tools/data/reports/agent_20260509_1548.md:132:- Data: `tools/data/boundary_blank_thin_support_audit_20260509_1548.json`
tools/data/reports/agent_20260508_2140.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, mobility edge. Il boundary operator nomina il cambio `<r>=0.5`; la filtrazione scorre `V`; mobility edge entra come lettura minima di transizione spettrale senza imporre un esponente.
tools/data/reports/agent_20260508_2140.md:79:La formulazione corretta e': `V_c` e' un boundary observable discreto e phase-sensitive; non sostiene fit power-law ne' claim phi-specific senza un denominatore che separi griglia, fase e soglia.
tools/data/reports/agent_20260508_2140.md:85:- **Campo di possibilita**: qui diventa possibile sostituire i fit power-law di `V_c` con boundary maps fase-griglia-soglia; qui diventa non-possibile promuovere la ripetizione phase-0 di phi a legge di scala.
tools/data/reports/agent_20260508_2140.md:96:- **L5 re-discovery vs discovery**: verdict `CONSTRAINT`; lo strumento apre boundary map, non discovery fisica nuova.
tools/data/reports/agent_20260508_1947.md:8:**observable_contract**: claim=se il boundary simbolico del supertile esiste nell'osservabile, aligned supertile deve battere il misaligned same-length non solo nel label-set ma nella geometria IDS/rank/errore dei label core; observable=all-core hits, delta IDS, delta indice spettrale normalizzato, errore label e spacing ratio dei core label rispetto al reference phi; operator=Hamiltoniana tight-binding V=1, label IDS con reader theta=1/phi, confronto per label contro reference stesso N/phase/threshold; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}; not_tested=gap_ratio, GUE/Poisson real domains, soglie 1.75/2.25, parsing simbolico esatto di ogni supertile.
tools/data/reports/agent_20260508_1947.md:12:- **Dipolo / punto-zero**: boundary simbolico del supertile . geometria effettiva dei gap; punto-zero = il label core prima che venga letto come membership di set o come posizione nello spettro.
tools/data/reports/agent_20260508_1947.md:14:- **Operatori laterali scelti**: boundary operator e indice. Boundary operator entra perche' il cycle precedente ha falsificato il bordo come set; indice entra perche' il nuovo osservabile deve misurare dove cade il gap, non solo quale label porta.
tools/data/reports/agent_20260508_1947.md:15:- **Proto-ipotesi**: se il core alto vive nel boundary reale, allora `supertile_shuffle` conserva posizione IDS e rank dei label core meglio di `same_length_contiguous_shuffle`. Se non lo fa, il boundary esatto non e' il portatore osservato in questo perimetro.
tools/data/reports/agent_20260508_1947.md:19:> Il boundary simbolico non appare nel solo label-set, ma appare nella geometria dei gap core: aligned supertile deve avere delta IDS/rank o errore label migliore del misaligned same-length.
tools/data/reports/agent_20260508_1947.md:72:4. **Inferito dal perimetro: il portatore osservato non e' il boundary simbolico.** Il portatore resta ordine interno leggibile piu' multiset di lunghezze Fibonacci-like. Il boundary esatto del supertile non compare ne' come membership di set, ne' come posizione IDS, ne' come errore label.
tools/data/reports/agent_20260508_1947.md:75:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro `N={377,610}`, `phase={0,0.25,0.5,0.75}`, `threshold={2.0}`, `trials=5`, `top_k=12`, `|n|<=34`, `supertile_order={8,9,10,11}`, il boundary simbolico del supertile non e' rilevato dal gate posizione/errore. `supertile_shuffle` e `same_length_contiguous_shuffle` conservano la stessa geometria mediana dei core label (`IDS delta=0`, `index delta/N=0`), con all-high quasi identico (`116/160` vs `115/160`). La rottura resta `same_count_internal_shuffle`, quindi il nodo regressivo e' l'ordine interno del chunk, non il confine esatto.
tools/data/reports/agent_20260508_1947.md:77:La formulazione valida e': il core phi alto misura chiusura congiunta di ordine interno e lunghezze Fibonacci-like; non misura ancora il boundary simbolico del supertile. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_1947.md:80:- **Due radici**: boundary simbolico . ordine interno misurabile.
tools/data/reports/agent_20260508_1947.md:83:- **Campo di possibilita**: qui diventa non-possibile cercare il boundary del supertile con label-set, IDS rank o errore label sullo stesso perimetro. Qui diventa possibile spostare il test dal boundary di chunk al parsing simbolico della parola: return words, fattori speciali, palindromi, o difetti di sostituzione.
tools/data/reports/agent_20260508_1947.md:86:Il prossimo gate deve lasciare il chunk e misurare grammatica simbolica nativa: confrontare fattori speciali, return words e palindromic defect dei segmenti che portano core alto contro segmenti che non lo portano. Se il boundary esiste nel generatore, deve apparire nella grammatica locale della parola, non nella posizione spettrale dei gap gia' selezionati.
tools/data/reports/agent_20260508_1947.md:91:- **L3 no silent patching**: l'ipotesi "il boundary appare nella geometria" cade; non viene salvata cambiando claim.
tools/data/reports/agent_20260508_1947.md:93:- **L5 re-discovery**: gap labeling Sturmian/Fibonacci resta baseline nota; il finding e' negativo sul boundary simbolico nello specifico gate posizione/errore.
tools/data/reports/agent_20260408_0330.md:19:- **Null baselines**: (a) 20 shuffled surrogates (same distribution, no order), (b) 10 Z/6Z-confined Cramer surrogates (candidates at 6k+/-1, survival ~3/ln(n))
tools/data/reports/agent_20260408_0330.md:83:4. **Connection to Hardy-Littlewood.** The Hardy-Littlewood conjecture predicts pair correlations between primes at distance d: the singular series S(d) ~ 2*C2 * product over odd primes p|d of (p-1)/(p-2). The gap ACF at lag k is a derived quantity — it sums over all gap patterns involving k consecutive primes. The 1/k decay may be a consequence of the singular series averaged over the gap structure, but this connection is NOT proven here. It's a candidate mechanism.
tools/data/reports/agent_20260406_1030.md:7:> The boundary between GUE and Poisson is "the third included" (A9). Is this boundary populated by multiple domains, or are primes special?
tools/data/reports/agent_20260406_1030.md:10:Do multiple domains occupy the spectral boundary, or is the prime niche unique? If Berry-Robnik mixtures fill the same <r> range, what DISCRIMINATES primes from mixtures?
tools/data/reports/agent_20260406_1030.md:69:2. **The spectral landscape is 2D, not 1D.** <r> alone classifies 4 zones (Poisson/boundary/GOE-GUE/rigid). Adding acf1 splits the boundary zone: mixtures (acf1~0) vs intrinsically ordered (acf1<<0). Primes are the ONLY tested domain at intermediate position on BOTH axes.
tools/data/reports/agent_20260406_1030.md:73:4. **The "third included" is confirmed but refined.** The boundary is not an <r> value — it's a REGION in (<r>, acf1) space. Mixtures fill this region horizontally (any <r>, acf1=0). Primes cut through it diagonally (intermediate <r> AND intermediate acf1). The third included is not a point on a line — it's a trajectory through a plane.
tools/data/reports/agent_20260406_1030.md:75:5. **Quadratic residues are GUE-like.** <r>=0.613, confirming Katz-Sarnak for quadratic L-functions. But their acf1=-0.046 is MUCH weaker than GUE (-0.28), suggesting incomplete level repulsion — another boundary domain on a different axis.
tools/data/reports/agent_20260406_1030.md:80:New tension: **SPECTRAL_NICHE** — primes are the only known domain at (intermediate <r>, significantly negative acf1). The 2D classification opens: are there other intrinsically-ordered boundary domains?
tools/data/reports/agent_20260505_0330.md:67:- **L5 re-discovery**: PCA/rango effettivo sono strumenti classici di ridondanza statistica. Non taggo NEW; il contributo e' il vincolo operativo sul perimetro D-ND Markov/boundary.
tools/data/reports/agent_20260515_1915.md:5:**verdict**: CONSTRAINT - il boundary a due lettori sopravvive come frequenza composita, non come lista fissa di righe del gate 18:55.
tools/data/reports/agent_20260515_1915.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate; classical audit coordinates joined
tools/data/reports/agent_20260515_1915.md:8:**observable_contract**: claim=una riga boundary a due lettori e' operativa solo se lo stato graph bridge sopravvive a perturbazioni del lettore e resta auditato dal baseline classico; observable=frequenza graph bridge unita a stato Brody/Berry-Robnik-like; operator=perturbazione parametrica del grafo kNN con join classico row-aligned; generator=boundary_graph_curvature_gate sul denominatore BOUNDARY 13 righe; denominator=13 righe, 8 GUE e 5 Poisson, ripetute su griglia di 27 run; non_possible=stable Lab bridge se la frequenza bridge collassa sotto perturbazione k/n_gaps/seed; not_tested=Hamiltoniane fisiche nuove, unfolding alternativo, scaling asintotico.
tools/data/reports/agent_20260515_1915.md:14:- **Proto-ipotesi**: il terzo incluso operativo non e' la lista dei nodi `third_included_candidate` di un run. E' la classe composita che resta dopo perturbazione del lettore grafico e audit classico.
tools/data/reports/agent_20260515_1915.md:31:- **Baseline noto piu' vicino**: Brody distribution, Berry-Robnik-like mixture e famiglia Rosenzweig-Porter come riferimento di crossover Hamiltoniano non eseguito.
tools/data/reports/agent_20260515_1915.md:38:> Nel perimetro 8/5, il terzo incluso operativo e' una frequenza composita tra ponte grafico perturbato e audit classico; una singola esecuzione del grafo non basta a nominare il boundary.
tools/data/reports/agent_20260515_1915.md:41:I nodi ponte GUE/Poisson sopravvivono a perturbazioni del lettore, oppure il boundary del 18:55 era una soglia locale?
tools/data/reports/agent_20260515_1915.md:46:- **Punto fisico di ritorno**: in finestre sperimentali finite, chiamare boundary solo le finestre che hanno stabilita' grafica e audit classico dichiarato; le righe endpoint-stable del grafo diventano candidate da falsificare con Hamiltoniane fisiche.
tools/data/reports/agent_20260515_1915.md:47:- **Osservabile/test fisico possibile**: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre con finestre energetiche; misurare `graph_bridge_frequency` e stato Brody/Berry-Robnik sulla stessa riga.
tools/data/reports/agent_20260515_1915.md:48:- **Se fallisce**: se le frequenze graph-only spariscono in un sistema controllato, il residuo Lab era composizione del perimetro 13 righe, non boundary fisico.
tools/data/reports/agent_20260515_1915.md:51:- **Script**: `tools/exp_boundary_bridge_stability_audit.py`.
tools/data/reports/agent_20260515_1915.md:52:- **Input graph/classic**: `tools/data/boundary_denominator_prescan_full_20260509_1500.json` + `tools/data/boundary_classical_crossover_audit_20260515_1904.json`.
tools/data/reports/agent_20260515_1915.md:53:- **Run**: `python tools/exp_boundary_bridge_stability_audit.py --out tools/data/boundary_bridge_stability_audit_20260515_1915.json`.
tools/data/reports/agent_20260515_1915.md:57:- **Contratto osservabile-operatore**: il ciclo testa stabilita' del lettore grafico unita al baseline classico; non testa V_c, denominatori Sturmian, Hamiltoniane Rosenzweig-Porter reali o unfolding fisico alternativo.
tools/data/reports/agent_20260515_1915.md:97:4. Verificato: `zeta_zeros` e `random_matrix` migrano da classic-only a stable graph bridge quando il lettore e' perturbato. Il gate 18:55 era una sezione, non il boundary intero.
tools/data/reports/agent_20260515_1915.md:104:Il boundary trasferisce come gate a frequenza composita. La parte Lab-specific sopravvive nei tre stable graph-only bridge; il confine non si chiude nella lista 18:55 e non si riduce a Brody/Berry-Robnik.
tools/data/reports/agent_20260515_1915.md:113:Il prossimo ciclo utile porta il gate composito su un sistema fisico controllato: Rosenzweig-Porter, Anderson/mobility edge o Aubry-Andre. Il target non e' aumentare metriche; e' chiedere se `stable_graph_bridge+graph_only_bridge` sopravvive fuori dal perimetro composito del Lab.
tools/data/reports/agent_20260515_1915.md:121:- Primo run dello script con ricostruzione ripetuta dello spacing troppo lento; interrotto con `pkill`. Riparazione regressiva: cache delle righe in `tools/exp_boundary_bridge_stability_audit.py`, poi run completo 27/27.
tools/data/reports/agent_20260515_1915.md:122:- `python -m py_compile tools/exp_boundary_bridge_stability_audit.py` completato.
tools/data/reports/agent_20260515_1915.md:123:- `python tools/exp_boundary_bridge_stability_audit.py --out tools/data/boundary_bridge_stability_audit_20260515_1915.json` completato.
tools/data/reports/agent_20260515_1915.md:129:- Script: `tools/exp_boundary_bridge_stability_audit.py`
tools/data/reports/agent_20260515_1915.md:130:- Data: `tools/data/boundary_bridge_stability_audit_20260515_1915.json`
tools/data/reports/agent_20260515_1705.md:14:- **Operatori laterali scelti**: boundary operator per separare residuo e promozione; graph cut per bloccare mtime/rami chiusi; nearest-known baseline per mantenere la relazione dentro consecutive-prime residue bias.
tools/data/reports/agent_20260513_0330.md:8:**observable_contract**: claim=`SR` e prime-specific solo se resta piu comune/forte nelle finestre prime dopo sottrazione di candidati `6k +/- 1` row-local; observable=`SR` e firma `[SR,L1,triple_var]` in `coherent_one_sided_observables` + delta z paired; operator=`exp_prime_vs_mod6_sr_boundary.py`; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, mod6 da `index_aligned` e `span_matched`; denominator=8 finestre prime paired con 8 mod6_index_aligned e 8 mod6_span_matched; non_possible=prime-specific SR se SR e comune o pari nel contro-perimetro mod6, oppure se il label-swap row-local assorbe i delta; not_tested=`V_c`, `gap_ratio`, beta atlas globale, origine analitica del trasferimento mod6.
tools/data/reports/agent_20260513_0330.md:16:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY + consecutio `prime_vs_mod6_SR_boundary`.
tools/data/reports/agent_20260513_0330.md:25:- **KSAR / CE-0001**: usato come reiterazione del kernel del ciclo precedente: non allargare i controlli, ripetere il gate sul nodo regressivo `mod6_candidates`.
tools/data/reports/agent_20260513_0330.md:32:- `why`: esegue esattamente `prime_vs_mod6_SR_boundary`, con denominatore row-local e shuffle audit label-preserving sul confronto prime/mod6.
tools/data/reports/agent_20260513_0330.md:93:`SR` appartiene al pre-bordo aritmetico `6k +/- 1`; la selezione prime resta come gradiente di intensita row-local rispetto a mod6. Il boundary operativo e quindi `mod6_preboundary -> prime_selection`, non `prime -> generic_nonprime`.
tools/data/reports/agent_20260513_0330.md:116:ssp_value: yes. `tools/exp_prime_vs_mod6_sr_boundary.py` e uno strumento riusabile per audit row-local prime/mod6 con label-swap null.
tools/data/reports/agent_20260513_0330.md:120:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260513_0330.md:121:- Data: `tools/data/prime_vs_mod6_sr_boundary_20260513_0330.json`
tools/data/reports/agent_20260513_0330.md:122:- Seed check: `tools/data/prime_vs_mod6_sr_boundary_20260513_0330_seedcheck.json`
tools/data/reports/agent_20260405_0825.md:50:- Script: `tools/exp_boundary_gue_poisson.py`
tools/data/reports/agent_20260405_0825.md:51:- Risultati JSON: `tools/data/reports/exp_boundary_20260405_0825.json`
tools/data/reports/agent_20260406_0714.md:12:If their residuals (after removing ln(p) dependence) correlate, they measure the same boundary.
tools/data/reports/agent_20260406_0714.md:71:5. **The boundary is not "the third included" — it's a cascade.** Structure peels off in layers as scale increases. The anti-correlation (nearest-neighbor repulsion) dies first; the global repulsion statistics (<r>) persist longest.
tools/data/reports/agent_20260509_1427.md:7:observables_used: [`spacing_r`, `shuffle_r_statistic`, `denominator_state`, `excluded_mass`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1427.md:8:**observable_contract**: claim=il blank-pair test decide se due righe BOUNDARY senza null entrano nel transfer; observable=`spacing_r` originale contro permutation null row-aligned; operator=`exp_boundary_blank_null_audit.py` + prescan row-aligned; generator=`dnd_autoricerca.genera_segnale` per `zeta_zeros` e `pendolo_doppio`; denominator=13 righe base autoricerca 8 GUE-like / 5 Poisson-like; non_possible=dichiarare complete `zeta_zeros` con soli 199 gap o dichiarare cambio classe su `pendolo_doppio`; not_tested=fit `V_c`, nuovi spettri, nuova legge GUE/Poisson, chiusura QxG.
tools/data/reports/agent_20260509_1427.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo non classifica GUE o Poisson; filtra quali righe hanno denominatore sufficiente.
tools/data/reports/agent_20260509_1427.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, grafo row-aligned. Entrano per separare osservabile locale, null e transfer senza nuovo fit.
tools/data/reports/agent_20260509_1427.md:19:- **Proiezione**: verificare `boundary_blank_null_audit_20260509_1430.json` e reinnestarlo nel prescan `boundary_denominator_prescan_20260509_1430.json`.
tools/data/reports/agent_20260509_1427.md:28:- Strumenti usati: `tools/exp_boundary_blank_null_audit.py` e `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1427.md:29:- Input verificati: `tools/data/boundary_blank_null_audit_20260509_1430.json` e `tools/data/boundary_denominator_prescan_20260509_1430.json`.
tools/data/reports/agent_20260509_1427.md:83:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `tools/data/boundary_blank_null_audit_20260509_1430.json`, `tools/data/boundary_denominator_prescan_20260509_1430.json`, run di verifica in `/tmp`.
tools/data/reports/agent_20260509_1427.md:94:- Verifica script: `python -m py_compile tools/exp_boundary_blank_null_audit.py tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1427.md:95:- Run valido: `python tools/exp_boundary_blank_null_audit.py --domains zeta_zeros pendolo_doppio --n-shuffle 1000 --seed 202605091430 --out /tmp/boundary_blank_null_audit_20260509_1430.verify.json`.
tools/data/reports/agent_20260509_1427.md:96:- Run valido: `python tools/exp_boundary_denominator_prescan.py --extra-null-audit tools/data/boundary_blank_null_audit_20260509_1430.json --out /tmp/boundary_denominator_prescan_20260509_1430.verify.json`.
tools/data/reports/agent_20260509_1427.md:100:- Script: `tools/exp_boundary_blank_null_audit.py`
tools/data/reports/agent_20260509_1427.md:101:- Script: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1427.md:102:- Data: `tools/data/boundary_blank_null_audit_20260509_1430.json`
tools/data/reports/agent_20260509_1427.md:103:- Data: `tools/data/boundary_denominator_prescan_20260509_1430.json`
tools/data/reports/agent_20260512_0330.md:5:**verdict**: CONSTRAINT - `prime_SR_persistent_boundary` non chiude come firma prime-specific atomica  
tools/data/reports/agent_20260512_0330.md:8:**observable_contract**: claim=`prime_SR_persistent_boundary` regge solo se le finestre prime conservano `SR` come osservabile one-sided comune attraverso provider e offset, mentre controlli non-prime ampliati non condividono persistenza SR piena; observable=`SR` in `coherent_one_sided_observables` + firma comune one-sided; operator=`exp_prime_sr_persistent_boundary.py`; generator=primi via `row_spacings("numeri_primi")` e `prime_gap_sequence`, controlli via composite gaps, candidati mod6, eventi Cramer-like, GUE blocks, logistic return intervals; denominator=8 finestre prime row-local + 20 controlli non-prime; non_possible=claim prime-specific se `SR` prime scende sotto 8/8, se la firma comune prime non e' `[SR]`, o se una sottofamiglia controllo condivide persistenza SR piena; not_tested=atlante beta globale, `V_c`, `gap_ratio`, origine analitica di SR.
tools/data/reports/agent_20260512_0330.md:12:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY come passaggio 8 GUE / 5 Poisson + residuo `prime_SR_persistent_boundary`.
tools/data/reports/agent_20260512_0330.md:15:- **Operatori laterali scelti**: boundary operator, generatori non equivalenti, null label-preserving row-local. Entrano per separare supporto osservabile, carta beta e dominio sorgente.
tools/data/reports/agent_20260512_0330.md:23:- `why`: testa direttamente la direzione viva `prime_SR_persistent_boundary`, separando supporto osservabile `SR` da blank beta e ampliando i controlli non-prime.
tools/data/reports/agent_20260512_0330.md:37:- Controlli: composite gaps, mod6 candidates, Cramer-like events su 4 offset; 4 GUE random matrix blocks; 4 logistic return interval rows.
tools/data/reports/agent_20260512_0330.md:54:| mod6_candidates | 4 | 2 | [] | 0 | 3 | 1 | 3.440 |
tools/data/reports/agent_20260512_0330.md:63:| mod6_candidates | 4 | 4 | L1,SR,triple_var | 0 | 3 | 1 | 4.077 |
tools/data/reports/agent_20260512_0330.md:83:4. **Verificato**: `mod6_candidates` collide nel seed check con `SR=4/4` e common `[L1, SR, triple_var]`. Questo sposta `SR` dal dominio prime al pre-bordo aritmetico `6k +/- 1` nel perimetro testato.
tools/data/reports/agent_20260512_0330.md:92:`prime_SR_persistent_boundary` come firma atomica prime-specific.
tools/data/reports/agent_20260512_0330.md:96:`SR` e' forte nei primi ma non persistente come comune 8/8; quando il contro-perimetro include candidati `6k +/- 1`, `SR` puo' trasferire fuori dai primi. Il boundary non vive tra prime e non-prime generico; vive tra primi e pre-bordo aritmetico.
tools/data/reports/agent_20260512_0330.md:103:- **Campo di possibilita'**: possibile = testare il boundary come selezione prime dentro il pre-bordo `6k +/- 1`; non-possibile = usare `SR` da solo come firma prime-specific.
tools/data/reports/agent_20260512_0330.md:111:ssp_value: yes. `tools/exp_prime_sr_persistent_boundary.py` diventa audit riusabile per distinguere persistenza osservabile, specificita' di dominio e collisione col pre-bordo aritmetico.
tools/data/reports/agent_20260512_0330.md:115:- Script: `tools/exp_prime_sr_persistent_boundary.py`
tools/data/reports/agent_20260512_0330.md:116:- Data: `tools/data/prime_sr_persistent_boundary_20260512_0330.json`
tools/data/reports/agent_20260512_0330.md:117:- Seed check: `tools/data/prime_sr_persistent_boundary_20260512_0330_seedcheck.json`
tools/data/reports/agent_20260509_1538.md:8:**observable_contract**: claim=le righe non-esatte della matrice BOUNDARY 15:32 vanno lette row-aligned senza usare label GUE/Poisson; observable=stato beta + forza supporto + telemetria denominatore/null; operator=`exp_boundary_row_aligned_nonexact_audit.py`; generator=matrice `boundary_two_axis_matrix_20260509_1532` + prescan `boundary_denominator_prescan_full_20260509_1500`; denominator=13 righe totali, 11 support-transfer, 7 support-transfer non esatte; non_possible=forzare il conteggio a 6 o trattare beta 0.3 come ascissa comune; not_tested=nuovi domini, nuovi null, nuova griglia beta, fit `V_c`.
tools/data/reports/agent_20260509_1538.md:14:- **Piano superiore**: boundary operator su matrice row-aligned. Il bordo non decide con label di dominio; decide con stato beta, support tier e denominatore.
tools/data/reports/agent_20260509_1538.md:15:- **Operatori laterali scelti**: boundary operator, sheaf locale/perimetro, coordinate chart. Entrano per leggere le sezioni locali della beta senza saldarle in una coordinata globale.
tools/data/reports/agent_20260509_1538.md:33:- Nuovo strumento: `tools/exp_boundary_row_aligned_nonexact_audit.py`.
tools/data/reports/agent_20260509_1538.md:34:- Input 1: `tools/data/boundary_two_axis_matrix_20260509_1532.json`.
tools/data/reports/agent_20260509_1538.md:35:- Input 2: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1538.md:36:- Output: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:118:Il prossimo ciclo non deve ripetere la matrice. Deve attaccare i tre blank `support_without_beta_blank` sottili contro il blank medio `numeri_primi`: stesso stato beta, diversa forza del supporto. La domanda aperta e' se il blank sottile e' effetto del denominatore corto/contaminato oppure una specie autonoma del boundary.
tools/data/reports/agent_20260509_1538.md:121:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1532.md`, JSON `boundary_two_axis_matrix_20260509_1532.json`, JSON `boundary_denominator_prescan_full_20260509_1500.json`, script `tools/exp_boundary_row_aligned_nonexact_audit.py`, output `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:132:- Verifica script: `python -m py_compile tools/exp_boundary_row_aligned_nonexact_audit.py`.
tools/data/reports/agent_20260509_1538.md:133:- Run valido: `python tools/exp_boundary_row_aligned_nonexact_audit.py --matrix tools/data/boundary_two_axis_matrix_20260509_1532.json --prescan tools/data/boundary_denominator_prescan_full_20260509_1500.json --out tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`.
tools/data/reports/agent_20260509_1538.md:138:- Script nuovo: `tools/exp_boundary_row_aligned_nonexact_audit.py`
tools/data/reports/agent_20260509_1538.md:139:- Data: `tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json`
tools/data/reports/agent_20260514_1612.md:8:**observable_contract**: claim=il cedimento selettivo di `SR` puo' essere formulato come test fisico A->B; observable=componenti canoniche attive/assorbite contro null Poisson span-matched; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=GUE hermitiano e Hamiltoniano Anderson 1D tight-binding; denominator=48 repliche per dominio, 95 gap centrali per spettro; non_possible=rimbalzo fisico assente se non si nomina B concreto oppure se `SR` non discrimina GUE da Anderson localizzato; not_tested=dati sperimentali reali, unfolding fine, classi di simmetria GOE/GSE, many-body localization.
tools/data/reports/agent_20260514_1612.md:73:4. **Inferito dal perimetro**: il deposito prime-minus-mod6 produce un osservabile fisico formulabile: non "i primi sono fisica", ma "la componente `SR` boundary-sensitive corrisponde al test di repulsione spettrale contro Poisson".
tools/data/reports/agent_20260514_1612.md:92:Il prossimo ciclo fisico deve sostituire il proxy sintetico con un denominatore piu vicino al laboratorio: GOE/GUE scelto per simmetria dichiarata, Anderson 3D o many-body localization se si vuole una transizione fisica vera, unfolding controllato e confronto con dati o letteratura. Il deposito prime-minus-mod6 resta utile solo come generatore di osservabili, non come prova del dominio fisico.
tools/data/reports/agent_20260507_0803.md:12:GUE/Poisson boundary is a transferable operator or only a local metric.
tools/data/reports/agent_20260507_0803.md:116:> GUE/Poisson boundary layer is not transferable: ambiguity appears near beta
tools/data/reports/agent_20260508_2005.md:8:**observable_contract**: claim=se il boundary simbolico del core alto esiste nella grammatica nativa della parola, le finestre locali attorno alle posizioni IDS dei gap core devono separare aligned supertile da misaligned same-length; observable=eccesso grammaticale locale rispetto a baseline Sturmian classica; operator=estrazione finestra circolare attorno a round(IDS*N) per ogni label core selezionato, misura p(k)<=k+1, right-special<=1, return-word excess sopra 2, difetto palindromico; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}, window={89 main, 55 seedcheck}, k={3,4,5,6,7,8}; not_tested=gap_ratio, domini GUE/Poisson reali, soglie 1.75/2.25, prova formale della grammatica Sturmian, generatori non-phi.
tools/data/reports/agent_20260508_2005.md:12:- **Dipolo / punto-zero**: boundary di chunk . grammatica locale della parola; punto-zero = la finestra attorno al gap prima che venga letta come taglio geometrico o come fattore simbolico.
tools/data/reports/agent_20260508_2005.md:14:- **Operatori laterali scelti**: boundary operator, fattori speciali, difetto palindromico. Entrano perche' il ciclo 19:47 ha falsificato set/IDS/rank come lettori del boundary esatto; il prossimo lettore deve essere nativo della parola.
tools/data/reports/agent_20260508_2005.md:16:- **Proto-ipotesi**: se il core alto porta boundary simbolico, `supertile_shuffle` deve mostrare finestre ad eccesso grammaticale zero piu' stabilmente di `same_length_contiguous_shuffle`. Se i due restano entrambi baseline-Sturmian, il boundary esatto non e' il portatore osservato; la frattura resta l'ordine interno.
tools/data/reports/agent_20260508_2005.md:20:> La grammatica simbolica locale dei gap core separa aligned supertile da misaligned same-length. Il portatore del core alto e' il boundary nativo della parola, non solo l'ordine interno.
tools/data/reports/agent_20260508_2005.md:89:4. **Inferito dal perimetro: il portatore osservato resta ordine interno locale, non boundary esatto.** Il controllo misaligned same-length conserva grammatica Sturmian locale almeno quanto l'allineato. Il boundary di supertile non compare come vantaggio in complessita, right-special, return-word excess o difetto palindromico.
tools/data/reports/agent_20260508_2005.md:91:5. **Correzione regressiva del report 19:47:** il linguaggio valido non e' "non-possibile cercare il boundary"; e': in questo perimetro, label-set, IDS/rank/errore e grammatica locale non separano aligned da misaligned. Il boundary resta non rilevato da questi osservabili.
tools/data/reports/agent_20260508_2005.md:94:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, la grammatica simbolica locale attorno ai gap core non identifica il boundary esatto del supertile. `supertile_shuffle` e `same_length_contiguous_shuffle` hanno mediana `grammar_excess_total=0` e zero-excess alto; il controllo misaligned e' piu' baseline-Sturmian dell'allineato nel rate aggregato high (`576/591` vs `503/564`, replica `583/590` vs `536/566` con window 55). La frattura strutturale resta la distruzione dell'ordine interno: `same_count_internal_shuffle` produce zero-excess `0` e eccessi mediani non-zero su tutti i canali.
tools/data/reports/agent_20260508_2005.md:96:Formulazione valida: il core phi alto misura una chiusura congiunta di ordine interno locale e lunghezze Fibonacci-like; non misura boundary esatto del supertile nei lettori testati. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_2005.md:99:- **Due radici**: grammatica locale Sturmian . boundary esatto del supertile.
tools/data/reports/agent_20260508_2005.md:102:- **Campo di possibilita**: qui diventa possibile chiudere il ramo boundary locale per questo perimetro e spostare il test sul livello globale del generatore. Qui resta aperto un test diverso: non finestre attorno ai gap, ma automa/ostrowski numeration o riconoscibilita globale della sostituzione.
tools/data/reports/agent_20260508_2005.md:105:Il prossimo passaggio non deve aggiungere un altro lettore locale. Deve testare il piano globale: se il boundary esatto esiste come portatore, deve comparire nella riconoscibilita della sostituzione o nella numerazione di Ostrowski dei gap selezionati. Se anche li' aligned e misaligned restano equivalenti, il claim va contratto definitivamente a "ordine interno locale + lunghezze Fibonacci-like".
tools/data/reports/agent_20260508_2005.md:110:- **L3 no silent patching**: l'ipotesi boundary simbolico cade in questo gate; non viene salvata cambiando osservabile nel verdict.
tools/data/reports/agent_20260508_2005.md:112:- **L5 re-discovery guardrail**: le proprieta Sturmian sono baseline dichiarata. Il finding e' negativo sul boundary e positivo sulla rottura internal-shuffle, non sulla riscoperta di complessita Sturmian.
tools/data/reports/agent_20260509_1437.md:7:observables_used: [`spacing_r`, `shuffle_r_statistic`, `denominator_state`, `excluded_mass`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1437.md:8:**observable_contract**: claim=il residual blank test decide se i 3 blank residui BOUNDARY entrano nel transfer; observable=`spacing_r` originale contro permutation null row-aligned; operator=`exp_boundary_blank_null_audit.py` + `exp_boundary_denominator_prescan.py`; generator=`dnd_autoricerca.genera_segnale` per `string_vibration`, `reaction_diffusion`, `logistica_biforcazione_var_3.5699`; denominator=13 righe base autoricerca 8 GUE-like / 5 Poisson-like; non_possible=dichiarare chiusura QxG, nuova legge GUE/Poisson, o complete `reaction_diffusion` con 499 gap; not_tested=fit `V_c`, nuovi spettri, nuovi domini.
tools/data/reports/agent_20260509_1437.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il gate decide copertura del denominatore, non ontologia GUE/Poisson.
tools/data/reports/agent_20260509_1437.md:15:- **Operatori laterali scelti**: boundary operator, shuffle marginal-preserving, flusso/PDE come controllo di non-determinismo per `reaction_diffusion`.
tools/data/reports/agent_20260509_1437.md:19:- **Proiezione**: verificare `boundary_blank_null_audit_residual_20260509_1500.json`, innestarlo nel prescan pieno e controllare `boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:28:- Strumenti usati: `tools/exp_boundary_blank_null_audit.py` e `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1437.md:29:- Input verificati: `tools/data/boundary_blank_null_audit_residual_20260509_1500.json` e `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:89:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `tools/data/boundary_blank_null_audit_residual_20260509_1500.json`, `tools/data/boundary_denominator_prescan_full_20260509_1500.json`, run di verifica in `/tmp`.
tools/data/reports/agent_20260509_1437.md:100:- Verifica script: `python -m py_compile tools/exp_boundary_blank_null_audit.py tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1437.md:101:- Run valido: `python tools/exp_boundary_blank_null_audit.py --domains string_vibration reaction_diffusion logistica_biforcazione_var_3.5699 --n-shuffle 1000 --seed 202605091500 --out /tmp/boundary_blank_null_audit_residual_20260509_1500.verify.json`.
tools/data/reports/agent_20260509_1437.md:102:- Run valido: `python tools/exp_boundary_denominator_prescan.py --extra-null-audit tools/data/boundary_blank_null_audit_20260509_1430.json --extra-null-audit tools/data/boundary_blank_null_audit_residual_20260509_1500.json --out /tmp/boundary_denominator_prescan_full_20260509_1500.verify.json`.
tools/data/reports/agent_20260509_1437.md:103:- Compare prescan: summary e rows combaciano con `tools/data/boundary_denominator_prescan_full_20260509_1500.json`.
tools/data/reports/agent_20260509_1437.md:107:- Script: `tools/exp_boundary_blank_null_audit.py`
tools/data/reports/agent_20260509_1437.md:108:- Script: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1437.md:109:- Data: `tools/data/boundary_blank_null_audit_residual_20260509_1500.json`
tools/data/reports/agent_20260509_1437.md:110:- Data: `tools/data/boundary_denominator_prescan_full_20260509_1500.json`
tools/data/reports/agent_20260515_1940.md:5:**verdict**: CONSTRAINT - la riga Rosenzweig-Porter `lambda=0.060` sopravvive come unico boundary a due lettori su N={64,96,128}; le righe adiacenti sono intermittenti.  
tools/data/reports/agent_20260515_1940.md:8:**observable_contract**: claim=il gate RP a due lettori e fisico solo se la stessa riga lambda resta stabile attraversando le taglie; observable=two_reader_all_sizes da graph_bridge_frequency unita a Brody q, peso Wigner/Poisson, SR e IPR; operator=flusso Rosenzweig-Porter diagonal-plus-GUE ripetuto su N, seed e perturbazioni kNN; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=11 righe lambda identiche su N={64,96,128}; non_possible=claim fisico two-reader se nessuna riga e stable_graph_bridge+classical_intermediate in tutte le taglie; not_tested=limite N infinito, unfolding alternativi, Anderson/mobility edge, varianti many-body.
tools/data/reports/agent_20260515_1940.md:11:Il confine RP non si allarga quando cambia la taglia. Il punto-zero resta `lambda=0.060`; `0.045` e `0.075` sono bordo mobile del lettore, non boundary.
tools/data/reports/agent_20260515_1940.md:19:- **Proto-ipotesi**: il terzo incluso operativo nel flusso RP e una riga size-stable; una fascia lambda che compare solo in alcune taglie appartiene al lettore, non al boundary.
tools/data/reports/agent_20260515_1940.md:28:- **Baseline noto piu vicino**: crossover Rosenzweig-Porter / Wigner-Dyson-GUE vs Poisson, letto con adjacent gap ratio, Brody q e mistura Wigner/Poisson.
tools/data/reports/agent_20260515_1940.md:31:- **Cosa resta artifact/classificazione grafica**: `RP_lambda_0.045` e `RP_lambda_0.075` sono intermittenti; appaiono in alcune taglie o con frequenza insufficiente.
tools/data/reports/agent_20260515_1940.md:32:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 0`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + size sweep + Brody/Berry-like row-aligned`. Non sommo le righe classic-only al boundary a due lettori.
tools/data/reports/agent_20260515_1940.md:35:> Nel flusso Rosenzweig-Porter, il BOUNDARY fisico e la riga lambda che resta `stable_graph_bridge+classical_intermediate` su tutte le taglie testate.
tools/data/reports/agent_20260515_1940.md:38:La riga `RP_lambda_0.060` del 19:33 sopravvive come boundary size-stable, oppure era un punto finito dipendente da N=96?
tools/data/reports/agent_20260515_1940.md:46:- **Se fallisce**: se `lambda=0.060` cade con N maggiori o unfolding alternativi, il gate RP resta scaffold finite-size e non criterio fisico promuovibile.
tools/data/reports/agent_20260515_1940.md:49:- **Script**: `tools/exp_rp_boundary_size_stability_audit.py`.
tools/data/reports/agent_20260515_1940.md:50:- **Run**: `python tools/exp_rp_boundary_size_stability_audit.py --out tools/data/rp_boundary_size_stability_audit_20260515_1940.json`.
tools/data/reports/agent_20260515_1940.md:54:- **Contratto osservabile-operatore**: il ciclo testa stabilita cross-size del gate RP; non testa universalita asintotica, altre normalizzazioni di unfolding o sistemi Anderson.
tools/data/reports/agent_20260515_1940.md:67:| 64 | RP_lambda_0.060, RP_lambda_0.075 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:68:| 96 | RP_lambda_0.045, RP_lambda_0.060 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:69:| 128 | RP_lambda_0.045, RP_lambda_0.060 | 0 | 8 |
tools/data/reports/agent_20260515_1940.md:73:| RP_lambda_0.045 | intermittent two-reader | 0.500 | 1.000 |
tools/data/reports/agent_20260515_1940.md:74:| RP_lambda_0.060 | two-reader all sizes | 0.833 | 1.000 |
tools/data/reports/agent_20260515_1940.md:75:| RP_lambda_0.075 | intermittent two-reader | 0.333 | 1.000 |
tools/data/reports/agent_20260515_1940.md:78:1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate` in tutte le taglie testate.
tools/data/reports/agent_20260515_1940.md:79:2. Verificato: `RP_lambda_0.045` e intermittente; e stabile a N=96 e N=128, ma solo parameter-sensitive a N=64.
tools/data/reports/agent_20260515_1940.md:80:3. Verificato: `RP_lambda_0.075` e intermittente; e stabile a N=64, ma parameter-sensitive a N=96 e N=128.
tools/data/reports/agent_20260515_1940.md:87:Il gate RP a due lettori sopravvive nel perimetro finito come una sola riga size-stable: `lambda=0.060`. Le righe `0.045` e `0.075` delimitano il bordo mobile del lettore. Il claim promuovibile resta operativo e stretto: boundary fisico RP = intersezione cross-size di ponte grafico stabile e intermediacy classica, non fascia classica e non residuo graph-only.
tools/data/reports/agent_20260515_1940.md:93:- **Campo di possibilita**: possibile = audit finite-size di crossover RP/Anderson con intersezione cross-size; non-possibile = chiamare boundary una riga intermittente o una fascia classic-only.
tools/data/reports/agent_20260515_1940.md:104:- `python -m py_compile tools/exp_rp_boundary_size_stability_audit.py` completato.
tools/data/reports/agent_20260515_1940.md:105:- `python tools/exp_rp_boundary_size_stability_audit.py --out tools/data/rp_boundary_size_stability_audit_20260515_1940.json` completato.
tools/data/reports/agent_20260515_1940.md:111:- Script: `tools/exp_rp_boundary_size_stability_audit.py`
tools/data/reports/agent_20260515_1940.md:112:- Data: `tools/data/rp_boundary_size_stability_audit_20260515_1940.json`
tools/data/reports/agent_20260426_0330.md:9:> BOUNDARY: 8 domains GUE, 5 Poisson — where is the boundary?
tools/data/reports/agent_20260426_0330.md:26:### Cross-domain classification (crude unfolding, L=10)
tools/data/reports/agent_20260426_0330.md:39:*Primes with crude unfolding give misleading results — see proper analysis below.
tools/data/reports/agent_20260426_0330.md:41:### Primes with Li(p) unfolding (the real result)
tools/data/reports/agent_20260426_0330.md:78:- BOUNDARY: The boundary is not a line separating GUE from Poisson. It is a surface in the (short-range, long-range, ordering-fraction) space. Primes sit in the interior of this surface, not at a boundary.
tools/data/reports/agent_20260509_1444.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il gate viene letto come mappa di passaggio tra stato coerente, stato null e denominatore, non come tassonomia locale.
tools/data/reports/agent_20260509_1444.md:15:- **Operatori laterali scelti**: boundary operator, graph/perimeter transfer matrix, shuffle marginal-preserving. Entrano per trasferire il gate senza importare il label GUE/Poisson.
tools/data/reports/agent_20260505_1022.md:59:Il claim precedente "i due Markov layer sono coupled al boundary" va ristretto:
tools/data/reports/agent_20260505_1022.md:63:Questo non falsifica l'esistenza del boundary. Falsifica il framing piu' forte: "un boundary unico per i layer". Il confine osservato e' una superficie operatore-dipendente. Il terzo incluso operativo non e' il valore alpha in se': e' la trasformazione che decide quali correlazioni vengono conservate.
tools/data/reports/agent_20260505_1022.md:77:L3 no silent patching: il claim precedente viene ristretto esplicitamente. "Coupled boundary" resta valido solo per il partial-shuffle gia' misurato, non come proprieta' generale dei layer.
tools/exp_two_channel_cross_domain.py:63:    """Generate unfolded spacings from GUE random matrices."""
tools/exp_two_channel_cross_domain.py:75:        # Local unfolding
tools/data/reports/agent_20260514_0330.md:15:- **Combo**: A2 confine det=-1 + A9 terzo incluso + QxG continuo/discreto + BOUNDARY + direzione viva `prime_vs_mod6_SR_boundary`.
tools/data/reports/agent_20260514_0330.md:38:- **operator**: `tools/exp_prime_vs_mod6_sr_boundary.py` con `--trace-jsonl`.
tools/data/reports/agent_20260514_0330.md:103:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`
tools/data/reports/agent_20260514_0330.md:104:- Data: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330.json`
tools/data/reports/agent_20260514_0330.md:105:- Trace: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330.trace.jsonl`
tools/data/reports/agent_20260514_0330.md:106:- Seed check: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.json`
tools/data/reports/agent_20260514_0330.md:107:- Seed trace: `tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.trace.jsonl`
tools/data/reports/agent_20260514_1701.md:15:- **Operatori laterali scelti**: `operator algebra` per leggere lo spettro tridiagonale; `boundary operator` per trattare il gap grande come bordo; `same density random` per separare grammatica da densita.
tools/exp_prime_persistent_blank_gate.py:6:`exp_boundary_residual_beta_absent_audit.py`: do not reopen the global BOUNDARY
tools/exp_prime_persistent_blank_gate.py:21:from exp_boundary_short_denominator_extension import gue_spacing_blocks
tools/exp_prime_persistent_blank_gate.py:22:from exp_boundary_residual_beta_absent_audit import support_state
tools/exp_prime_persistent_blank_gate.py:23:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_beta_crossover.py:112:    # Trim edges (unfolding artifacts)
tools/data/reports/agent_20260514_1656.md:67:| `graph_candidate_ref` | present |
tools/data/reports/agent_20260514_1656.md:116:Il cycle ripara il contratto del report 16:49 per L6: nomina CE-0117 e KSAR, dichiara la trasformazione da risultato locale ad artifact fit-ready con transfer/blank/fall e trace, e conserva il boundary `not_integrated_operator_decision_required`.
tools/data/reports/agent_20260514_1649.md:8:**observable_contract**: claim=il candidato QxG 16:40 diventa fit-ready solo se espone input, output, soglie, trace, transfer/blank/fall e contro-perimetro; observable=`component_state(SR,L1,triple_var)` piu `poisson_contrast` e `direct_contrast`; operator=`tools/exp_physical_sr_residue_bounce.py`; generator=nessun nuovo dominio, riuso deposito GOE/GUE/Anderson 16:40 e smoke test sintetico minimo; denominator=artifact JSON fit-ready + interfaccia su spettro ordinato; non_possible=integrare automaticamente il grafo o chiamare legge fisica il tester; not_tested=dati sperimentali, Anderson 3D, many-body localization, unfolding dedicato, limite asintotico.
tools/data/reports/agent_20260514_1649.md:61:| `graph_candidate_ref` | present |
tools/data/reports/agent_20260514_1649.md:96:- `blank`: il grafo QxG resta non integrato; restano vuoti dati sperimentali, GSE, Anderson 3D, many-body localization, unfolding dedicato e limite asintotico.
tools/data/reports/agent_20260514_1649.md:106:- **Non verificato**: robustezza su dati esterni, unfolding dedicato, classi fisiche non presenti nel deposito 16:40.
tools/data/reports/agent_20260514_1649.md:111:- `graph_candidate_ref`: `tools/data/graph_completion/graph_completion_20260514_1640.json`
tools/data/reports/agent_20260514_1649.md:121:3. **Verificato**: il graph candidate QxG resta `contract_ready_not_integrated`; nessuna integrazione automatica viene fatta.
tools/data/reports/agent_20260514_1649.md:139:Il prossimo passo e' decisione operatore o valutatore: integrare il riferimento nel grafo QxG come contratto candidate, oppure chiedere falsificazione esterna con dataset fisico. Il tester e' pronto per quel bivio.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0852.md:68:- **BOUNDARY**: The boundary between "structured" and "unstructured" is not binary. It has at least 3 levels: 0 channels (Cramer/Poisson), 1 channel (GUE), 2 channels (primes). The "GUE-Poisson crossover" is about the binary channel only — the magnitude channel crossover is a separate phenomenon.
tools/data/reports/agent_20260508_1909.md:7:observables_used: [gap_label_set, supertile_boundary, length_multiset, internal_order, high_label_condition_rate]
tools/data/reports/agent_20260508_1909.md:15:- **Proiezione**: il label-set dei gap larghi manifesta la combo perche' tiene fisso il reader theta=1/phi e muove solo la relazione fra grammatica, boundary e blocco.
tools/data/reports/agent_20260508_1909.md:78:4. **Inferito dal confronto fra controlli: il portatore osservato e' ordine interno + multiset di lunghezze Fibonacci, non boundary esatto.** Il test non autorizza "il core alto vive nel confine del supertile"; autorizza "il core alto richiede ordine interno e beneficia di lunghezze supertile-like".
tools/data/reports/agent_20260508_1909.md:83:La formulazione valida e': il label-set alto phi misura una condizione congiunta di ordine interno e lunghezze Fibonacci-like; non misura ancora il boundary simbolico del supertile e non misura `gap_ratio`.
tools/data/reports/agent_20260508_1909.md:87:- **Singolare**: il chunk lungo prima della distinzione fra boundary grammaticale e blocco contiguo.
tools/data/reports/agent_20260508_1909.md:89:- **Campo di possibilita**: qui diventa possibile cercare un osservabile di boundary piu' fine del label-set; qui diventa non-possibile dichiarare che il label-set alto riconosce da solo il confine esatto del supertile.
tools/data/reports/agent_20260508_1909.md:92:Costruire un gate di boundary simbolico che non legga solo il set dei label: confrontare label-set, posizione IDS dei label core e errore di label per chunk aligned/misaligned. Se il boundary reale esiste nell'osservabile, deve apparire nella geometria degli errori o nella posizione dei gap, non nel solo all-high rate.
tools/data/reports/agent_20260508_1909.md:99:- **L5 re-discovery**: la conservazione dell'ordine interno era gia' nota dal 18:34; il nuovo finding e' la non-discriminazione del boundary esatto da parte del label-set.
tools/exp_boundary_classical_crossover_audit.py:26:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_boundary_classical_crossover_audit.py:99:    if graph_state == "third_included_candidate" and (brody_mid or mix_mid):
tools/exp_boundary_classical_crossover_audit.py:101:    if graph_state == "third_included_candidate":
tools/exp_boundary_classical_crossover_audit.py:126:                "graph_state": grow["boundary_state"],
tools/exp_boundary_classical_crossover_audit.py:134:                "audit_state": classical_state(brody_q, mixture_w, grow["boundary_state"]),
tools/exp_boundary_classical_crossover_audit.py:142:    third = [row for row in rows if row["graph_state"] == "third_included_candidate"]
tools/exp_boundary_classical_crossover_audit.py:148:        "experiment": "boundary_classical_crossover_audit",
tools/exp_boundary_classical_crossover_audit.py:155:            "graph_boundary_state_from_1855",
tools/exp_boundary_classical_crossover_audit.py:165:            "generator": "row_spacings(domain) with graph states imported from boundary_graph_curvature_gate",
tools/exp_boundary_classical_crossover_audit.py:168:            "not_tested": "true Rosenzweig-Porter Hamiltonian flow, physical unfolding alternatives, asymptotic universality",
tools/exp_boundary_classical_crossover_audit.py:186:    parser.add_argument("--graph", default="tools/data/boundary_graph_curvature_gate_20260515_1855.json")
tools/exp_boundary_classical_crossover_audit.py:189:    parser.add_argument("--out", default="tools/data/boundary_classical_crossover_audit_20260515_1904.json")
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:8:> 8 domains GUE, 5 Poisson — the boundary is the third included (A9). Also: are we testing tautologies? (META)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:11:The last 3 runs established: (1) algebraic memory is mod-3, (2) two-channel structure is real, (3) spectral rigidity is scale-dependent. Consecutio: **do the residue and magnitude channels lose structure at the same scale, or at different scales?** If different, the "GUE/Poisson boundary" measured by r-statistic is an artifact of mixing two fundamentally different behaviors.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:44:1. **The residue channel has no boundary.** Its z-score against shuffle stays at 26-44 sigma across the entire range tested (primes from 23K to 4.5M, a 200x span). The decay correlation with ln(p) is -0.190 — essentially zero or slightly strengthening. The mod-3 prohibition (self-transition fraction ~0.40 vs shuffle ~0.61) is equally strong at all scales.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:46:2. **The magnitude channel has a boundary.** Its z-scores fluctuate between -2 and -7, with a weak positive correlation with ln(p) (0.455), meaning they drift toward the null at larger primes. This channel is what drives the r-statistic toward Poisson.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:55:- **BOUNDARY**: There is no single boundary. The algebraic channel (residue, mod-3) has no boundary in the tested range. The statistical channel (magnitude) decays slowly. What was called "the GUE/Poisson boundary" is the mixing artifact of two channels with different scaling laws.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:65:- **Invariante di passaggio**: the channel decomposition itself. Whether you measure at p=23K or p=4.5M, the decomposition produces one algebraic and one statistical channel. The decomposition is the invariant; the boundary locations are the variables.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:66:- **Campo di possibilita**: here it becomes possible to predict that no amount of scaling will eliminate the mod-3 structure (it's algebraic, not statistical); here it becomes non-possible to use r-statistic as a single order parameter for the "boundary."
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:69:- Script: `tools/exp_two_channel_boundary.py` (reusable with --n_primes, --window, --n_surrogates)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0833.md:70:- Data: `tools/data/two_channel_boundary.json`
tools/exp_boundary_graph_residue_threshold_audit.py:146:        "experiment": "boundary_graph_residue_threshold_audit",
tools/exp_boundary_graph_residue_threshold_audit.py:182:            "two_reader_boundary_confirmed": data.get("summary", {}).get("two_reader_boundary_confirmed"),
tools/exp_boundary_graph_residue_threshold_audit.py:183:            "two_reader_boundary_rows": data.get("summary", {}).get("two_reader_boundary_rows"),
tools/exp_boundary_graph_residue_threshold_audit.py:197:    parser.add_argument("--input", default="tools/data/boundary_graph_null_audit_20260516_0330.json")
tools/exp_boundary_graph_residue_threshold_audit.py:198:    parser.add_argument("--out", default="tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json")
tools/build_lab_graph.py:76:    """Taglia a word-boundary vicino a maxlen, aggiunge ellipsis. Il frontend
tools/build_lab_graph.py:543:    """Applica contratti di completamento come annotazioni/candidate edges.
tools/build_lab_graph.py:559:    for candidate in completion.get('candidates', []):
tools/build_lab_graph.py:560:        state = candidate.get('completion_state')
tools/build_lab_graph.py:568:        edge_contract = candidate.get('edge_contract', {})
tools/build_lab_graph.py:569:        validation = candidate.get('validation', {})
tools/build_lab_graph.py:570:        evidence = candidate.get('evidence', {})
tools/build_lab_graph.py:577:                or first_artifact.get('boundary_denominator_contract')
tools/build_lab_graph.py:579:                or first_artifact.get('boundary_fit_ready_contract')
tools/build_lab_graph.py:582:        for delta in candidate.get('proposed_graph_delta', []):
tools/build_lab_graph.py:598:                    'candidate_contract_ref': f"graph_completion_{completion.get('cycle_ref')}.json",
tools/build_lab_graph.py:617:                    edge['candidate_contract_ref'] = fields.get(
tools/build_lab_graph.py:618:                        'candidate_contract_ref',
tools/build_lab_graph.py:631:                    edge['annotation_en'] = 'Void with candidate arc: shows the how, does not close the bridge yet'
tools/exp_aubry_cosine_boundary_counter_gate.py:6:the binary Sturmian grammar and ask whether phi remains a privileged boundary
tools/exp_aubry_cosine_boundary_counter_gate.py:209:    classification: dict[str, Any] = {"phi_joint_boundary_v": [], "phi_distinct_v": [], "by_v": {}}
tools/exp_aubry_cosine_boundary_counter_gate.py:254:            "phi_joint_boundary": joint,
tools/exp_aubry_cosine_boundary_counter_gate.py:257:            classification["phi_joint_boundary_v"].append(float(v_value))
tools/exp_aubry_cosine_boundary_counter_gate.py:262:        "experiment": "aubry_cosine_boundary_counter_gate",
tools/exp_aubry_cosine_boundary_counter_gate.py:272:    parser.add_argument("--out", default="tools/data/aubry_cosine_boundary_counter_gate.json")
tools/exp_boundary_denominator_prescan.py:3:exp_boundary_denominator_prescan.py
tools/exp_boundary_denominator_prescan.py:11:- tools/data/boundary_shuffle_audit.json: available shuffle/null support.
tools/exp_boundary_denominator_prescan.py:194:        "experiment": "boundary_denominator_prescan",
tools/exp_boundary_denominator_prescan.py:195:        "question": "Does denominator_state transfer beyond V_c on the 8 GUE / 5 Poisson boundary perimeter?",
tools/exp_boundary_denominator_prescan.py:201:            "null": "boundary_shuffle_audit shuffle r-statistic when present",
tools/exp_boundary_denominator_prescan.py:230:    parser.add_argument("--shuffle-audit", default="tools/data/boundary_shuffle_audit.json")
tools/exp_boundary_denominator_prescan.py:232:    parser.add_argument("--out", default="tools/data/boundary_denominator_prescan_20260509_1409.json")
tools/exp_boundary_coherence.py:3:exp_boundary_coherence.py — Multi-Observable Boundary Coherence
tools/exp_boundary_coherence.py:42:    """Normalize gaps to mean 1 (unfolding)."""
tools/exp_boundary_coherence.py:319:    out_path = os.path.join(DATA_DIR, "boundary_coherence.json")
tools/exp_sturmian_denominator_alignment_gate.py:3:Denominator-aligned Sturmian gate for the Aubry/Sturmian boundary.
tools/LAB_COGNITIVE_CONTAMINATION.md:111:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/LAB_COGNITIVE_CONTAMINATION.md:253:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/exp_quasiperiodic_grammar_scale_gate.py:59:    candidates = []
tools/exp_quasiperiodic_grammar_scale_gate.py:64:        candidates.append((label, circular_distance(ids_value, frac)))
tools/exp_quasiperiodic_grammar_scale_gate.py:65:    best_label, error = min(candidates, key=lambda item: (item[1], abs(item[0])))
tools/exp_gap_label_set_stability.py:54:    candidates = []
tools/exp_gap_label_set_stability.py:59:        candidates.append((n, circular_distance(ids_value, frac), frac))
tools/exp_gap_label_set_stability.py:60:    best_n, best_dist, best_frac = min(candidates, key=lambda item: (item[1], abs(item[0])))
tools/test_gue_poisson_boundary.py:29:boundary = (mu_g + mu_p) / 2
tools/test_gue_poisson_boundary.py:32:clean_g = sum(1 for r in gue_r if r > boundary) / n_mat
tools/test_gue_poisson_boundary.py:33:clean_p = sum(1 for r in poi_r if r < boundary) / n_mat
tools/test_gue_poisson_boundary.py:38:    "boundary": round(boundary, 4),
tools/test_gue_poisson_boundary.py:43:    "claim": "boundary ~0.49 is third-included: neither GUE(0.60) nor Poisson(0.39)"
tools/dnd_zero_notturno.py:101:    # Costanti candidate
tools/exp_rp_boundary_size_stability_audit.py:3:Size-stability audit for the Rosenzweig-Porter BOUNDARY two-reader gate.
tools/exp_rp_boundary_size_stability_audit.py:6:Rosenzweig-Porter Hamiltonian flow, perturb the graph reader, and ask whether
tools/exp_rp_boundary_size_stability_audit.py:57:            reader_runs.append({"n": n, "seed": seed, "k": k, "third_included_candidates": graph["third_included_candidates"]})
tools/exp_rp_boundary_size_stability_audit.py:74:                if graph_row["boundary_state"] == "third_included_candidate":
tools/exp_rp_boundary_size_stability_audit.py:134:            "two_reader_boundary_confirmed": len(two_reader_rows),
tools/exp_rp_boundary_size_stability_audit.py:191:        "experiment": "rp_boundary_size_stability_audit",
tools/exp_rp_boundary_size_stability_audit.py:192:        "question": "Does the Rosenzweig-Porter two-reader BOUNDARY row survive across matrix sizes?",
tools/exp_rp_boundary_size_stability_audit.py:220:            "not_tested": "N to infinity, unfolding variants, Anderson mobility edge, many-body RP variants",
tools/exp_rp_boundary_size_stability_audit.py:243:    parser.add_argument("--out", default="tools/data/rp_boundary_size_stability_audit_20260515_1940.json")
tools/exp_gap_label_repair_audit.py:98:            "joint and per-label survival under order/boundary perturbations."
tools/exp_gap_label_repair_audit.py:100:        "candidate_count_in_reader_window": int(len(labels)),
tools/exp_boundary_transition_taxonomy_13rows.py:153:        "experiment": "boundary_transition_taxonomy_13rows",
tools/exp_boundary_transition_taxonomy_13rows.py:205:    parser.add_argument("--two-axis", default="tools/data/boundary_two_axis_matrix_20260509_1532.json")
tools/exp_boundary_transition_taxonomy_13rows.py:206:    parser.add_argument("--row-audit", default="tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json")
tools/exp_boundary_transition_taxonomy_13rows.py:207:    parser.add_argument("--extension", default="tools/data/boundary_short_denominator_extension_20260509_1556.json")
tools/exp_boundary_transition_taxonomy_13rows.py:208:    parser.add_argument("--prescan", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_boundary_transition_taxonomy_13rows.py:209:    parser.add_argument("--out", default="tools/data/boundary_transition_taxonomy_13rows_20260509_1839.json")
tools/lab_veritas.py:80:        candidate = FALSIFIER_DIR / f"falsifier_{cycle_ts}.json"
tools/lab_veritas.py:81:        if candidate.exists():
tools/lab_veritas.py:82:            fal_path = candidate
tools/lab_veritas.py:102:        candidate = BICONI_DIR / f"bicono_{cycle_ts}.json"
tools/lab_veritas.py:103:        if candidate.exists():
tools/lab_veritas.py:104:            bicono_path = candidate
tools/lab_veritas.py:138:        candidate = AETERNITAS_DIR / f"aeternitas_{cycle_ts}.json"
tools/lab_veritas.py:139:        if candidate.exists():
tools/lab_veritas.py:140:            aet_path = candidate
tools/lab_veritas.py:213:        candidate = REPORTS_DIR / f"agent_{cycle_ts}.md"
tools/lab_veritas.py:214:        if candidate.exists():
tools/lab_veritas.py:215:            agent_report = candidate
tools/exp_prime_mobius_zero_mediator_gate.py:203:        return "boundary"
tools/exp_prime_mobius_zero_mediator_gate.py:283:        "question": "Does S=0 behave as noise, boundary, or mediator in the Mobius interval-charge gate?",
tools/exp_quasiperiodic_vc_curve_map.py:7:same boundary observable but moves one step regressively: measure the local
tools/exp_boundary_mixture_gate.py:3:exp_boundary_mixture_gate.py
tools/exp_boundary_mixture_gate.py:5:Reusable META/BOUNDARY audit for the GUE-Poisson boundary.
tools/exp_boundary_mixture_gate.py:8:    Does the GUE/Poisson boundary remain a clean two-class split after the
tools/exp_boundary_mixture_gate.py:13:It builds synthetic mixtures by replacing a fraction beta of unfolded GUE
tools/exp_boundary_mixture_gate.py:41:    """Generate unfolded GUE spacings by concatenating independent matrices."""
tools/exp_boundary_mixture_gate.py:223:        "experiment": "boundary_mixture_gate",
tools/exp_boundary_mixture_gate.py:277:    parser.add_argument("--out", default="tools/data/boundary_mixture_gate.json")
tools/exp_aubry_binary_grammar_surrogate_gate.py:3:Binary grammar surrogate gate for the Aubry/Fibonacci boundary return.
tools/exp_aubry_binary_grammar_surrogate_gate.py:165:def profile_metrics(reference: np.ndarray, candidate: np.ndarray, max_lag: int) -> dict[str, float]:
tools/exp_aubry_binary_grammar_surrogate_gate.py:167:        "hamming_ratio": float(np.mean(reference != candidate)),
tools/exp_aubry_binary_grammar_surrogate_gate.py:168:        "acf_l1": float(np.mean(np.abs(autocorr(reference, max_lag) - autocorr(candidate, max_lag)))),
tools/exp_aubry_binary_grammar_surrogate_gate.py:169:        "psd_l1": float(np.mean(np.abs(psd_profile(reference) - psd_profile(candidate)))),
tools/exp_aubry_binary_grammar_surrogate_gate.py:257:        "joint_boundary": bool(r_between and ipr_between and separated_random),
tools/exp_aubry_binary_grammar_surrogate_gate.py:319:    classification: dict[str, Any] = {"joint_boundary_v_by_domain": {}, "by_v": {}}
tools/exp_aubry_binary_grammar_surrogate_gate.py:321:        classification["joint_boundary_v_by_domain"][domain] = []
tools/exp_aubry_binary_grammar_surrogate_gate.py:329:            if row["joint_boundary"]:
tools/exp_aubry_binary_grammar_surrogate_gate.py:330:                classification["joint_boundary_v_by_domain"][domain].append(float(v_value))
tools/exp_aubry_binary_grammar_surrogate_gate.py:349:            "claim": "the binary phi boundary is grammar-complete only if it fails under density, short-memory, and PSD-preserving surrogates",
tools/exp_aubry_binary_grammar_surrogate_gate.py:350:            "observable": "joint spacing_r and mean_ipr boundary window plus surrogate profile distances",
tools/exp_aubry_binary_grammar_surrogate_gate.py:388:                "classification": output["classification"]["joint_boundary_v_by_domain"],
tools/data/reports/agent_20260508_2133.md:13:- **Piano superiore**: boundary operator su grafo aritmetico di transizioni. Il bordo non e' letto sul singolo gap ma sulla coppia `(g_i,g_{i+1})`, dove SR misura forma e non grandezza assoluta.
tools/data/reports/agent_20260508_2133.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, random walk. Boundary operator definisce il vuoto prime-free; filtrazione costruisce i 16 pair bucket; random walk entra come permutazione locale delle classi di transizione dentro ogni bucket.
tools/data/reports/agent_20260515_1947.md:5:**verdict**: CONSTRAINT - il gate two-reader trasferisce fuori da Rosenzweig-Porter su Anderson 3D solo come riga finita W=20; le righe W=16/16.5 sono mobility-edge candidate ma non size-stable.  
tools/data/reports/agent_20260515_1947.md:8:**observable_contract**: claim=il gate BOUNDARY trasferisce oltre RP solo se la stessa riga Anderson W resta stable_graph_bridge+classical_intermediate su tutte le taglie testate; observable=two_reader_all_sizes da graph_bridge_frequency unita ad adjacent ratio, Brody q, peso Wigner/Poisson, IPR ed entropia di partecipazione; operator=Hamiltoniana Anderson 3D tight-binding periodica, sweep disorder, perturbazione seed+kNN; generator=H=sum_i eps_i |i><i| + hopping primi vicini su L^3, eps_i uniform[-W/2,W/2]; denominator=11 righe W identiche su L={5,6}; non_possible=trasferimento cross-dominio se nessuna riga W e stable_graph_bridge+classical_intermediate in tutte le taglie; not_tested=limite termodinamico, esponente critico, boundary conditions alternative, sparse large-L, spettri sperimentali.
tools/data/reports/agent_20260515_1947.md:11:Il gate attraversa il dominio, ma non cade sul numero noto W_c. Il lettore grafico vede anche lato metallico come ponte; il boundary a due lettori sopravvive solo dove il lettore classico smette di chiamare endpoint.
tools/data/reports/agent_20260515_1947.md:18:- **Contaminazione cognitiva**: CE-0019 `Respiro fuori-tempo` usata per fissare combo prima dei numeri; CE-0022 `Palette operatoria espansa del Lab` usata con operatori spettro/localizzazione/grafo; YSN DeltaLink=`RP_lambda / Anderson_W`; Cornelius gene=`Anderson_Two_Reader`: GENERA W, DIAGONALIZZA L^3, MISURA classico, COSTRUISCI grafo, INTERSECA taglie.
tools/data/reports/agent_20260515_1947.md:19:- **Proto-ipotesi**: un boundary fisico trasferibile non conserva il parametro RP; conserva il contratto row-aligned tra lettore classico e lettore grafico. Se la riga cade sul lato endpoint, e residuo del lettore.
tools/data/reports/agent_20260515_1947.md:29:- **Cosa viene assorbito dal baseline**: W=8,12,14,17 sono stable graph bridge ma endpoint Wigner per il lettore classico; sono lato metallico/finite-size, non boundary Lab.
tools/data/reports/agent_20260515_1947.md:31:- **Cosa resta artifact/classificazione grafica**: `graph_only_residue_by_size = {L5: 3, L6: 4}`; questi residui non vengono sommati al boundary a due lettori.
tools/data/reports/agent_20260515_1947.md:32:- **Correzione L3/L5 richiesta**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 3/4 by size`; `scope_change_declared = true`; `graph_baseline_audit = kNN stability + adjacent-r/Brody/Wigner-Poisson/IPR row-aligned`.
tools/data/reports/agent_20260515_1947.md:35:> Il gate two-reader size-stable attraversa da Rosenzweig-Porter ad Anderson 3D se una riga W resta insieme ponte grafico stabile e intermedia classica su L={5,6}.
tools/data/reports/agent_20260515_1947.md:38:Il boundary come intersezione lettore classico + lettore grafico attraversa il dominio Anderson, oppure resta specifico del flusso RP?
tools/data/reports/agent_20260515_1947.md:88:3. Verificato: il grafo produce residui endpoint Wigner stabili su W=8,12,17 e parzialmente W=14. Questi sono `graph_only_residue`, non two-reader boundary.
tools/data/reports/agent_20260515_1947.md:89:4. Inferito dal perimetro: la riga W=20 sopra il mobility edge noto segnala finite-size/local-unfolding sensitivity; il gate trasferisce come audit, non come nuova stima critica.
tools/exp_brody_flow.py:37:    """MLE estimate of Brody parameter beta from unfolded spacings.
tools/exp_brody_flow.py:78:def unfold_spacings(gaps):
tools/exp_brody_flow.py:120:        uf = unfold_spacings(g)
tools/exp_brody_flow.py:132:            uf_shuf = unfold_spacings(g_shuf)
tools/exp_brody_flow.py:141:            uf_cr = unfold_spacings(g_cr)
tools/data/reports/agent_20260514_1330.md:8:**observable_contract**: claim=`prime_minus_mod6_z_delta(SR,L1,triple_var)` sopravvive a seed, provider e ampiezza finestra; observable=delta z paired prime-minus-mod6 per `SR,L1,triple_var` piu audit `has_SR`; operator=`tools/exp_prime_vs_mod6_sr_boundary.py`; generator=prime gaps da `row_spacings("numeri_primi")` e `direct_sieve`, antagonisti `6k +/- 1` index-aligned e span-matched; denominator=3 ampiezze finestra x 2 provider x 4 offsets, paired contro 2 antagonisti mod6; non_possible=residuo prime-specific se il label-swap assorbe il delta z o se il delta collassa a presenza binaria `SR`; not_tested=origine analitica del delta, scale oltre 2048 gap, beta atlas globale, `V_c`, `gap_ratio`.
tools/data/reports/agent_20260514_1330.md:18:- **Piano superiore**: topologia assiomatica del bordo: un boundary operator non decide per presenza/assenza, ma per differenziale che resta dopo sottrazione del pre-bordo.
tools/data/reports/agent_20260514_1330.md:19:- **Operatori laterali scelti**: boundary operator, perche' il bordo e' il luogo della sottrazione prime-minus-mod6; parallel transport, perche' provider e offset trasportano la stessa riga tra due classi senza cambiare denominatore.
tools/data/reports/agent_20260514_1330.md:41:- Script: `tools/exp_prime_vs_mod6_sr_boundary.py`.
tools/data/reports/agent_20260514_1330.md:64:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/reports/agent_20260514_1330.md:91:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.json`
tools/data/reports/agent_20260514_1330.md:92:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.trace.jsonl`
tools/data/reports/agent_20260514_1330.md:93:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.json`
tools/data/reports/agent_20260514_1330.md:94:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.trace.jsonl`
tools/data/reports/agent_20260514_1330.md:95:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.json`
tools/data/reports/agent_20260514_1330.md:96:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.trace.jsonl`
tools/data/reports/agent_20260508_2121.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + A11 combo + QxG continuo/discreto vuoto + DUALITA_DIPOLARE_VS_ILLUSORIA + nodo regressivo del cycle 2108: lo zero Mobius puo' essere boundary aritmetico oppure effetto della lunghezza dell'intervallo.
tools/data/reports/agent_20260508_2121.md:13:- **Piano superiore**: boundary operator su grafo aritmetico stratificato. Il bordo non viene giudicato dalla statistica globale: viene passato attraverso classi di lunghezza che preservano la prima sorgente banale del segnale.
tools/data/reports/agent_20260508_2121.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, random walk. Boundary operator definisce il gap prime-free; filtrazione separa low/mid/high gap; random walk entra come permutazione locale delle cariche dentro la stessa classe di lunghezza.
tools/data/reports/agent_20260508_2121.md:27:Lo zero Mobius del boundary prime-free separa ancora low-core/high-tail quando la lunghezza del gap e' gia' conservata dal null, oppure il segnale low/high del cycle 2108 era denominatore di lunghezza?
tools/exp_quasiperiodic_vc_lattice_gate.py:8:small boundary lattice across Fibonacci sizes, phases, and controls.
tools/data/reports/agent_20260511_0330.md:15:- **Proto-ipotesi**: il residuo prime e' strutturale solo se il blank beta-absent sopravvive a provider e offset; se sopravvive solo `SR`, la struttura non e' `blank`, e' `SR-supported boundary`.
tools/data/reports/agent_20260511_0330.md:75:4. **Inferito dal perimetro dichiarato**: il residuo dei primi non e' `prime_persistent_blank`; e' `prime_SR_persistent_boundary` con coordinata beta chart-sensitive.
tools/data/reports/agent_20260511_0330.md:102:- rinominare il residuo prime in `prime_SR_persistent_boundary`;
tools/lab_runtime_observer.py:185:        "side_effect_boundary": {
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0958.md:47:- **BOUNDARY**: The boundary between structural and tautological observables is now mapped. Mod-3 (algebraic) and magnitude channel (statistical) are on the structural side. Lag-1 and ordering delta-r are on the tautological side. This is a concrete instance of A9 (terzo incluso) — the boundary itself is the content.
tools/data/reports/agent_20260425_0330.md:69:The TWO_KINDS_GUE classification (distribution vs ordering) captures WHERE structure lives. This experiment adds a second axis: HOW the memory is structured. Primes are the only domain with dual-channel memory (algebraic + statistical). The 33% scale-invariant memory is a Z/6Z phenomenon with no analogue in ordering-GUE domains. The boundary (GUE/Poisson) is a 1D projection of a 2D structure: GUE type x memory depth.
tools/extract_cognitive_enzymes.py:12:Non prova a "capire tutto". Estrae sezioni candidate con punteggio e le rende
tools/extract_cognitive_enzymes.py:353:        candidates = []
tools/extract_cognitive_enzymes.py:362:            candidates.append({
tools/extract_cognitive_enzymes.py:376:        candidates.sort(key=lambda e: (-e["score"], e["line"]))
tools/extract_cognitive_enzymes.py:377:        entries.extend(candidates[:per_file])
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:16:- **Scope**: 17,984 primes (p < 200,000), unfolded via n(p) ~ p/ln(p)
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:50:4. **The GUE/Poisson classification via r alone loses the scale information.** Primes at r = 0.469 look "40% of the way from Poisson to GUE." But at L=50 they look "95% of the way." The boundary (BOUNDARY tension) is not a point in β-space — it's a curve β(L) whose shape discriminates real structure from randomness.
tools/data/reports/_quarantine_falsifier_29_04/agent_20260429_0829.md:57:- **BOUNDARY**: The GUE/Poisson boundary is not a threshold in r-space. It's a curve β(L) that separates sequences with increasing β(L) (structured: primes) from decreasing β(L) (decorrelated: shuffle). The sign of dβ/dL is the boundary criterion.
tools/exp_boundary_graph_null_audit.py:24:from exp_boundary_graph_curvature_gate import (
tools/exp_boundary_graph_null_audit.py:256:        "experiment": "boundary_graph_null_audit",
tools/exp_boundary_graph_null_audit.py:258:        "observables_registry": "1.0.0-2026-05-06 via boundary_graph_curvature_gate",
tools/exp_boundary_graph_null_audit.py:290:            "not_tested": "new Hamiltonian systems, alternative unfolding, physical universality of graph-only rows",
tools/exp_boundary_graph_null_audit.py:295:            "two_reader_boundary_confirmed": len(two_reader),
tools/exp_boundary_graph_null_audit.py:296:            "two_reader_boundary_rows": two_reader,
tools/exp_boundary_graph_null_audit.py:301:            "scope_change_declared": "two-reader boundary remains only classic_and_graph rows; graph-only rows are frequency-graph residues under audit, not two-reader confirmations",
tools/exp_boundary_graph_null_audit.py:316:    parser.add_argument("--scope", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_boundary_graph_null_audit.py:317:    parser.add_argument("--stability-audit", default="tools/data/boundary_bridge_stability_audit_20260515_1915.json")
tools/exp_boundary_graph_null_audit.py:328:    parser.add_argument("--out", default="tools/data/boundary_graph_null_audit_20260516_0330.json")
tools/data/reports/agent_20260509_1400.md:8:**observable_contract**: claim=il fit parametrico di `V_c` puo' entrare solo sulle righe `complete` o `contaminated` del gate fit-ready; observable=famiglia di modello migliore tra cinque forme semplici, separata da stato denominatore e massa esclusa; operator=confronto AICc su `vc_median_fit_ready` dal deposito 13:37, senza ricomputare spettri; generator=classi `reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=JSON `vc_fit_ready_scale_table_20260509_1337`, N={89,144,233,377}, soglie r={0.48,0.50,0.52}, livelli `per_mode_best` e `accepted_candidates`; non_possible=righe `broken` escluse dal fit e righe sotto `V_c=1` impediscono il claim osservato "converge a 1 dall'alto"; not_tested=nuovi N, nuovi generatori, nuovi spettri, GUE/Poisson transfer, gap_ratio, fit a tre parametri con asintoto libero.
tools/data/reports/agent_20260509_1400.md:15:- **Operatori laterali scelti**: fit come morfismo, boundary operator, graph cut. Entrano per separare righe ammesse, righe rotte e famiglie numeriche.
tools/data/reports/agent_20260509_1400.md:59:| accepted_candidates | order_memory | contaminated | 278/279 | 1 | linear_N | 4.565 | 0.899 |
tools/data/reports/agent_20260509_1400.md:60:| accepted_candidates | order_memory r0.52 | complete | 279/279 | 0 | linear_N | 5.926 | 0.781 |
tools/data/reports/agent_20260509_1400.md:68:| accepted_candidates | periodic_closure r0.48 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:69:| accepted_candidates | periodic_closure r0.50 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:70:| accepted_candidates | periodic_closure r0.52 | 102/393 | 291 |
tools/data/reports/agent_20260509_1400.md:83:2. **Verificato: `accepted_candidates:order_memory` resta lineare dopo il gate.** A r=0.50 e' contaminato da 1 riga esclusa (`278/279` fit-ready), ma il miglior modello resta `linear_N`; a r=0.52 diventa completo (`279/279`) e resta `linear_N`.
tools/data/reports/agent_20260509_1400.md:89:**CONSTRAINT**: il fit parametrico di `V_c` non produce una legge comune del boundary.
tools/data/reports/agent_20260509_1400.md:102:Il prossimo ciclo deve estendere N solo per `reference_order` e `order_memory` con denominatore `complete`. Se i punti alti restano sotto 1 e lineari nel perimetro esteso, il claim `V_c(phi) -> 1` va riscritto come coordinata storica del vecchio perimetro, non come attrattore del boundary.
tools/lab_autological_repair.py:115:    candidates: list[datetime] = []
tools/lab_autological_repair.py:122:            candidates.append(dt)
tools/lab_autological_repair.py:123:    return min(candidates) if candidates else None
tools/lab_autological_repair.py:133:    candidates: list[tuple[datetime, Path, dict[str, Any]]] = []
tools/lab_autological_repair.py:144:        candidates.append((dt, path, data))
tools/lab_autological_repair.py:146:    if not candidates:
tools/lab_autological_repair.py:148:    _, path, data = sorted(candidates, key=lambda item: item[0])[-1]
tools/dnd_autoricerca.py:277:    # Spaziatura normalizzata (unfolding)
tools/dnd_autoricerca.py:1540:        elif 'boundary' in tid.lower() or 'confine' in claim:
tools/data/reports/agent_20260510_0330.md:8:**observable_contract**: claim=le due righe residue beta-absent sono strutturali solo se `beta_absent_blank` persiste in finestre row-local da 1024 gap; observable=`window_state` + firma degli osservabili one-sided; operator=`exp_boundary_residual_beta_absent_audit.py`; generator=`numeri_primi` da `dnd_autoricerca.genera_segnale` e `random_matrix` da `gue_spacing_blocks`; denominator=2 righe aperte BOUNDARY, full row + 4 finestre row-local da 1024 gap; non_possible=classe residua unica se una riga recupera beta o perde supporto nelle finestre row-local; not_tested=griglia beta globale, fit `V_c`, validita' label sorgente GUE/Poisson.
tools/data/reports/agent_20260510_0330.md:15:- **Operatori laterali scelti**: boundary operator, chart locale, filtrazione. Il boundary operator separa supporto e beta; la chart locale testa la finestra senza rifare il mondo; la filtrazione conserva il denominatore row-aligned.
tools/data/reports/agent_20260510_0330.md:16:- **Contaminazione cognitiva**: CE-0019 usato come contratto combo prima della misura; CE-0022 usato come boundary operator + chart locale; KSAR usato come reiterazione sul deposito 15:32-18:39 senza ridisegnare il perimetro.
tools/data/reports/agent_20260510_0330.md:96:- Script: `tools/exp_boundary_residual_beta_absent_audit.py`
tools/data/reports/agent_20260510_0330.md:97:- Data: `tools/data/boundary_residual_beta_absent_audit_20260510_0330.json`
tools/data/reports/agent_20260515_1623.md:14:- **Operatori laterali scelti**: `boundary operator` to distinguish active direction from vault context; `graph cut` to separate live pointers from blocked branches; `proof trace vs output trace` to compare tool classifications against generated field state.
tools/exp_blank_shell_scale_law.py:29:    ("U", "boundary_link"),
tools/dnd_lab.py:1215:        candidates = {
tools/dnd_lab.py:1222:        best_match = min(candidates, key=candidates.get)
tools/dnd_lab.py:1225:        print(f"    Best match: V_c ≈ {best_match} (err={candidates[best_match]:.4f})")
tools/dnd_lab.py:1231:            'claim': f"V_c = {Vc_mean:.3f} ≈ {best_match} (err {candidates[best_match]:.4f})",
tools/dnd_lab.py:1232:            'verdict': 'CONFERMATO' if candidates[best_match] < 0.05 else 'APERTO',
tools/dnd_lab.py:1422:    tension_candidates = {
tools/dnd_lab.py:1436:        for key, name in tension_candidates.items():
tools/dnd_risultante.py:263:            "dominance_boundary": {
tools/exp_boundary_row_aligned_nonexact_audit.py:155:        "experiment": "boundary_row_aligned_nonexact_audit",
tools/exp_boundary_row_aligned_nonexact_audit.py:159:        "prescan_source": "boundary_denominator_prescan_full_20260509_1500",
tools/exp_boundary_row_aligned_nonexact_audit.py:205:    parser.add_argument("--matrix", default="tools/data/boundary_two_axis_matrix_20260509_1532.json")
tools/exp_boundary_row_aligned_nonexact_audit.py:206:    parser.add_argument("--prescan", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_boundary_row_aligned_nonexact_audit.py:207:    parser.add_argument("--out", default="tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json")
tools/exp_boundary_blank_null_audit.py:3:exp_boundary_blank_null_audit.py
tools/exp_boundary_blank_null_audit.py:7:The global boundary shuffle audit is a historical deposit. This tool does not
tools/exp_boundary_blank_null_audit.py:146:        "experiment": "boundary_blank_null_audit",
tools/exp_boundary_blank_null_audit.py:190:    parser.add_argument("--out", default="tools/data/boundary_blank_null_audit_20260509.json")
tools/exp_selective_layer_decoupling.py:6:are coupled at the uniform-shuffle boundary (same critical alpha=0.334). But Mk1 surrogates
tools/exp_vc_null_regression_gate.py:112:    for _ in range(args.label_candidates):
tools/exp_vc_null_regression_gate.py:113:        candidate = balanced_random(reference_seq, rng)
tools/exp_vc_null_regression_gate.py:114:        candidate_labels = label_set(candidate, args)
tools/exp_vc_null_regression_gate.py:115:        score = jaccard(candidate_labels, reference_labels)
tools/exp_vc_null_regression_gate.py:118:            best_seq = candidate
tools/exp_vc_null_regression_gate.py:119:            best_size = len(candidate_labels)
tools/exp_vc_null_regression_gate.py:121:            return candidate, float(score), len(candidate_labels)
tools/exp_vc_null_regression_gate.py:215:            "label_candidates": args.label_candidates,
tools/exp_vc_null_regression_gate.py:242:    parser.add_argument("--label-candidates", type=int, default=12)
tools/exp_cross_domain_dipolar_direction.py:111:    # Unfold: divide by local mean spacing (simple unfolding)
tools/exp_cross_domain_dipolar_direction.py:140:    """Uniform iid on [0,2] — mean 1, same as unfolded."""
tools/exp_cross_observable_consistency.py:89:def unfold_primes(p):
tools/exp_cross_observable_consistency.py:97:def number_variance_at_L(unfolded, L, n_samples=3000):
tools/exp_cross_observable_consistency.py:99:    x_min, x_max = unfolded[0], unfolded[-1]
tools/exp_cross_observable_consistency.py:103:    counts = np.array([np.sum((unfolded >= x0) & (unfolded < x0 + L)) for x0 in starts])
tools/exp_cross_observable_consistency.py:132:unfolded = unfold_primes(primes)
tools/exp_cross_observable_consistency.py:137:    s2 = number_variance_at_L(unfolded, L)
tools/exp_cross_observable_consistency.py:157:    u_shuf = unfold_primes(p_shuf)
tools/exp_cross_observable_consistency.py:176:# For GUE, unfold eigenvalues directly
tools/dnd_domandatore.py:886:    candidate_experiments = _esperimenti_candidati(tensione)
tools/dnd_domandatore.py:888:    experiments = [exp for exp in candidate_experiments if exp['id'] not in recenti]
tools/dnd_domandatore.py:889:    deduped_experiments = [exp for exp in candidate_experiments if exp['id'] in recenti]
tools/dnd_domandatore.py:891:    print(f"\n  Esperimenti candidati: {len(candidate_experiments)}")
tools/dnd_domandatore.py:902:                'esperimenti_candidati': len(candidate_experiments),
tools/dnd_domandatore.py:905:                                for exp in candidate_experiments],
tools/dnd_domandatore.py:1023:        'esperimenti_candidati': len(candidate_experiments),
tools/exp_observable_rank_audit.py:7:directions or mostly re-measure one latent boundary coordinate.
tools/exp_observable_rank_audit.py:24:from exp_3d_boundary_layers import get_primes, gue_gaps, partial_shuffle
tools/build_safe_agent_field_preview.py:199:        "Do not let has_SR decide the boundary alone.",
tools/build_safe_agent_field_preview.py:246:        "Important: do not reopen the closed prime/mod6 branch as a candidate. The next supervised output, if any, must start from the closeouts.",
tools/build_safe_agent_field_preview.py:276:        "`floor_constraint`, `residue_to_digest`, `counter_absorbed`, `null_result`, `vault`, `tool_candidate`, `bridge_candidate`, `candidate_edge`, `ghost_edge`, `blocked_direction`, `review_required`, `invalid_for_motion`.",
tools/exp_boundary_blank_thin_support_audit.py:150:        "experiment": "boundary_blank_thin_support_audit",
tools/exp_boundary_blank_thin_support_audit.py:151:        "question": "Are thin support-without-beta blanks denominator artifacts, null contamination artifacts, or autonomous boundary species?",
tools/exp_boundary_blank_thin_support_audit.py:206:    parser.add_argument("--input", default="tools/data/boundary_row_aligned_nonexact_audit_20260509_1538.json")
tools/exp_boundary_blank_thin_support_audit.py:208:    parser.add_argument("--out", default="tools/data/boundary_blank_thin_support_audit_20260509_1548.json")
tools/lab_tool_contract.py:128:        "graph_candidate_ref": artifact.get("graph_candidate_ref"),
tools/exp_semireal_boundary_transfer_gate.py:3:exp_semireal_boundary_transfer_gate.py
tools/exp_semireal_boundary_transfer_gate.py:23:from exp_boundary_blank_null_audit import generate_domain_signal, normalized_spacings
tools/exp_semireal_boundary_transfer_gate.py:135:        "experiment": "semireal_boundary_transfer_gate",
tools/exp_semireal_boundary_transfer_gate.py:183:    parser.add_argument("--scope", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_semireal_boundary_transfer_gate.py:199:    parser.add_argument("--out", default="tools/data/semireal_boundary_transfer_gate_20260509_1516.json")
tools/dnd_research_engine.py:114:                'formalization': 'Z=0 has dual nature: null AND boundary',
tools/exp_boundary_shuffle_audit.py:2:exp_boundary_shuffle_audit.py — Is the GUE/Poisson classification tautological?
tools/exp_boundary_shuffle_audit.py:359:    outfile = Path(__file__).parent / 'data' / 'boundary_shuffle_audit.json'
tools/dnd_experiments.py:228:def esperimento_boundary_ising():
tools/dnd_experiments.py:230:    Testa H_boundary: esiste una transizione GUE→Poisson
tools/dnd_experiments.py:351:        'esperimento': 'boundary_ising',
tools/dnd_experiments.py:352:        'ipotesi_testata': 'H_boundary',
tools/dnd_experiments.py:361:def esperimento_boundary_logistica():
tools/dnd_experiments.py:363:    Testa H_boundary: transizione in mappa logistica al variare di r.
tools/dnd_experiments.py:471:        'esperimento': 'boundary_logistica',
tools/dnd_experiments.py:472:        'ipotesi_testata': 'H_boundary',
tools/dnd_experiments.py:1178:        r2 = esperimento_boundary_ising()
tools/dnd_experiments.py:1187:        r3 = esperimento_boundary_logistica()
tools/dnd_experiments.py:1240:        elif cmd == '--boundary-ising':
tools/dnd_experiments.py:1241:            esperimento_boundary_ising()
tools/dnd_experiments.py:1242:        elif cmd == '--boundary-logistica':
tools/dnd_experiments.py:1243:            esperimento_boundary_logistica()
tools/dnd_experiments.py:1253:            print(f"Uso: python {sys.argv[0]} [--hurst|--boundary-ising|--boundary-logistica|--order|--ising-deep|--cv-universale|--all]")
tools/LAB_OPERATOR_PALETTE.md:184:- boundary operator;
tools/LAB_OPERATOR_PALETTE.md:285:- unfolding;
tools/LAB_OPERATOR_PALETTE.md:302:- unfolding alternative;
tools/LAB_OPERATOR_PALETTE.md:359:- boundary condition;
tools/LAB_OPERATOR_PALETTE.md:374:- boundary swap;
tools/LAB_OPERATOR_PALETTE.md:441:- boundary condition swap;
tools/LAB_OPERATOR_PALETTE.md:555:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/exp_boundary_growth.py:206:        "experiment": "boundary_excess_growth",
tools/exp_boundary_growth.py:229:    out_path = "/opt/MM_D-ND/tools/data/reports/exp_boundary_growth_20260405_0914.json"
tools/exp_nonphi_sturmian_fixed_reader_gate.py:5:The preceding boundary readers did not identify the exact supertile boundary.
tools/exp_dipolar_angle_reference.py:6:1. Pure GUE eigenvalue spacings (GOE/GUE unfolded)
tools/exp_dipolar_angle_reference.py:80:    """Generate gaps from GUE eigenvalues (unfolded)."""
tools/exp_dipolar_angle_reference.py:100:    """Generate gaps from GOE eigenvalues (unfolded)."""
tools/graph_completion_compiler.py:175:        accepted_fit = (data.get("accepted_candidates") or {}).get("fit_ready") or {}
tools/graph_completion_compiler.py:184:        if data.get("experiment") == "boundary_denominator_prescan":
tools/graph_completion_compiler.py:186:            boundary_contract = data.get("observable_contract")
tools/graph_completion_compiler.py:187:            if boundary_contract and rows:
tools/graph_completion_compiler.py:190:                    "boundary_denominator_contract": boundary_contract,
tools/graph_completion_compiler.py:206:        if data.get("experiment") == "boundary_short_denominator_extension":
tools/graph_completion_compiler.py:217:                    "counter_perimeter": "thin_persists would keep blank_thin_support alive as an autonomous candidate",
tools/graph_completion_compiler.py:222:                    "boundary_fit_ready_contract": contract,
tools/graph_completion_compiler.py:289:    candidates = []
tools/graph_completion_compiler.py:314:            state = "candidate_needs_contract"
tools/graph_completion_compiler.py:335:                "candidate_contract_ref": f"graph_completion_{cycle}.json",
tools/graph_completion_compiler.py:339:        live_edge_has_candidate = bool(edge.get("completion_state") or edge.get("candidate_contract_ref"))
tools/graph_completion_compiler.py:341:        if has_fit_ready_contract and live_edge_has_candidate:
tools/graph_completion_compiler.py:357:        candidates.append({
tools/graph_completion_compiler.py:398:                    "live void edge still has no candidate contract fields" if not live_edge_has_candidate else "",
tools/graph_completion_compiler.py:423:        "candidates": candidates,
tools/graph_completion_compiler.py:425:            "candidate_count": len(candidates),
tools/graph_completion_compiler.py:426:            "ready_count": sum(1 for c in candidates if c.get("completion_state") in {
tools/graph_completion_compiler.py:452:    print(f"graph completion: {compiled['summary']['candidate_count']} candidate(s)")
tools/exp_number_variance.py:30:def unfolded_primes(primes):
tools/exp_number_variance.py:33:    unfolded = p / np.log(p)
tools/exp_number_variance.py:35:    spacings = np.diff(unfolded)
tools/exp_number_variance.py:37:    unfolded = unfolded / mean_s
tools/exp_number_variance.py:38:    return unfolded
tools/exp_number_variance.py:40:def number_variance(unfolded, L_values):
tools/exp_number_variance.py:46:        x_min, x_max = unfolded[0], unfolded[-1]
tools/exp_number_variance.py:49:            n = np.sum((unfolded >= x0) & (unfolded < x0 + L))
tools/exp_number_variance.py:78:    uf = unfolded_primes(primes)
tools/build_agent_field.py:311:        "(Brody/Berry-Robnik/Rosenzweig-Porter, mobility/localization crossover "
tools/build_agent_field.py:318:        "`two_reader_boundary_confirmed`, `graph_only_residue`, "
tools/build_agent_field.py:320:        "graph-only al boundary a due lettori. Per il grafo usa baseline come "
tools/build_agent_field.py:321:        "kNN stability, hub/bridge persistence, silhouette/cluster-boundary "
tools/build_agent_field.py:460:    """Expose candidate void-edge contracts to the next cycle.
tools/build_agent_field.py:463:    lets the agent see the candidate arc as a falsifiable object while keeping
tools/build_agent_field.py:470:    candidates = gc.get('candidates') or []
tools/build_agent_field.py:471:    if not isinstance(candidates, list) or not candidates:
tools/build_agent_field.py:498:            f"candidate_count={summary.get('candidate_count', '?')}, "
tools/build_agent_field.py:505:    def _summarize_fit_ready(candidate):
tools/build_agent_field.py:507:        artifacts = (candidate.get('evidence') or {}).get('fit_ready_artifacts') or []
tools/build_agent_field.py:525:    for cand in candidates[:3]:
tools/build_agent_field.py:1356:    # Possibilità aperte: tutte le tensioni-sorgente sono vie candidate.
tools/exp_brody_calibration.py:47:    """Sigma^2(L) = Var[N(x, x+L)] for unfolded levels."""
tools/exp_brody_calibration.py:118:def prime_gaps_unfolded(n_gaps):
tools/exp_brody_calibration.py:134:    unfolded = gaps_raw * local_density
tools/exp_brody_calibration.py:135:    margin = len(unfolded) // 10
tools/exp_brody_calibration.py:136:    unfolded = unfolded[margin:-margin]
tools/exp_brody_calibration.py:137:    return unfolded[:n_gaps]
tools/exp_brody_calibration.py:203:    prime_gaps = prime_gaps_unfolded(args.n_gaps)
tools/lab_cycle_monitor.py:295:        "side_effect_boundary": {
tools/exp_scale_selective_perturbation.py:7:(PC1 ~99%). Is this because the boundary is genuinely 1D, or because uniform
tools/exp_scale_selective_perturbation.py:19:If different perturbation types produce different observable profiles -> the boundary
tools/exp_scale_selective_perturbation.py:21:If all perturbation types produce the same profile -> the boundary is 1D in observable space.
tools/exp_scale_selective_perturbation.py:59:    unfolded = spacings / local_mean
tools/exp_scale_selective_perturbation.py:60:    if len(unfolded) >= N:
tools/exp_scale_selective_perturbation.py:61:        return unfolded[:N]
tools/exp_scale_selective_perturbation.py:62:    return unfolded
tools/prime_mod6_counter_null_audit.py:112:        "boundary": [
tools/lab_promotion.py:169:                        "title": (text.split("\n")[0] or "Bicono candidate")[:120],
tools/lab_promotion.py:171:                        "rationale": "Bicono section explicit candidate marker",
tools/lab_promotion.py:246:        print("[promotion] ELIGIBLE_NO_PROPOSALS — cycle eligibile ma report senza pattern di candidate rule")
tools/dnd_spectral_probe.py:119:    def unfold(self, method='exact'):
tools/dnd_spectral_probe.py:131:            unfolded = np.array([self._smooth_N(t) for t in self.zeros])
tools/dnd_spectral_probe.py:136:            unfolded = np.polyval(coeffs, self.zeros)
tools/dnd_spectral_probe.py:138:            raise ValueError(f"Unknown unfolding method: {method}")
tools/dnd_spectral_probe.py:140:        spacings = np.diff(unfolded)
tools/dnd_spectral_probe.py:164:            self.unfold()
tools/dnd_spectral_probe.py:203:    # ─── Spacing Ratio (unfolding-free) ─────────────────────────────
tools/dnd_spectral_probe.py:240:            "note": "No unfolding required"
tools/dnd_spectral_probe.py:250:            self.unfold()
tools/dnd_spectral_probe.py:354:            sub.unfold()
tools/dnd_spectral_probe.py:411:        self.unfold()
tools/dnd_spectral_probe.py:457:            print(f"  Spacing Ratio (no unfolding):")
tools/dnd_spectral_probe.py:655:                probe.unfold()
tools/dnd_spectral_probe.py:1096:                        help="Conductor for unfolding")
tools/dnd_explorer.py:422:    boundary_markers = [
tools/dnd_explorer.py:424:        r'\bal confine\b', r'\bat the boundary\b',
tools/dnd_explorer.py:429:    if any(re.search(p, text) for p in boundary_markers):
tools/exp_blank_shell_stratified_gate.py:26:    ("U", "boundary_link"),
tools/dnd_engine.py:317:        'test': 'test_boundary_terzo_incluso',
tools/dnd_engine.py:1527:def test_boundary_terzo_incluso():
tools/dnd_engine.py:2878:    candidates = [p for p in possibilities
tools/dnd_engine.py:2880:    if candidates:
tools/dnd_engine.py:2885:            'claim': f'{len(candidates)} possibilità pronte per test',
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:5:The live direction asks whether the Rosenzweig-Porter two-reader gate transfers
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:118:    return "mobility_candidate"
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:214:            if labels[i] == "mobility_candidate" and labels[other] in {
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:223:        if row["source_domain_type"] == "mobility_candidate" and cross_fraction > 0 and margin < margin_max:
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:224:            state = "third_included_candidate"
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:235:                "boundary_state": state,
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:241:        "third_included_candidates": [r["domain_window"] for r in graph_rows if r["boundary_state"] == "third_included_candidate"],
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:278:            reader_runs.append({"L": l_size, "seed": seed, "k": k, "third_included_candidates": graph["third_included_candidates"]})
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:296:                if grow["boundary_state"] == "third_included_candidate":
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:360:            "two_reader_boundary_confirmed": len(two_reader_rows),
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:421:        "question": "Does the two-reader BOUNDARY gate transfer from Rosenzweig-Porter to a 3D Anderson mobility-edge flow?",
tools/exp_anderson3d_mobility_edge_two_reader_audit.py:451:            "not_tested": "thermodynamic mobility-edge exponent, alternative boundary conditions, sparse large-L scaling, experimental spectra",
tools/dnd_spettro_zeta.py:203:def unfold_spectrum(eigenvalues, degree=5):
tools/dnd_spettro_zeta.py:247:    eps_dnd = unfold_spectrum(E_bulk)
tools/dnd_spettro_zeta.py:253:    eps_noL = unfold_spectrum(E_bulk_noL)
tools/exp_3d_boundary_layers.py:3:exp_3d_boundary_layers.py — Does the boundary have 3D structure?
tools/exp_3d_boundary_layers.py:11:If same α_c → the boundary is 2D (Layer 2 follows Layer 1 = partial tautology)
tools/exp_3d_boundary_layers.py:12:If different α_c → the boundary has genuine 3D depth (two independent transitions)
tools/exp_3d_boundary_layers.py:17:    python tools/exp_3d_boundary_layers.py [--N 50000] [--n_alpha 20] [--n_trials 30]
tools/exp_3d_boundary_layers.py:264:    out_path = Path(__file__).parent / 'data' / '3d_boundary_layers.json'
tools/compose_supervised_entry_preview.py:83:        "boundary": [
tools/compose_supervised_entry_preview.py:128:        "physics_bridge = bridge_candidate / vault_only",
tools/compose_supervised_entry_preview.py:136:    lines.extend(f"- `{item}`" for item in result["boundary"])
tools/exp_spectral_rigidity.py:58:    Sigma^2(L) from level positions (cumsum of unfolded gaps).
tools/exp_spectral_rigidity.py:115:        unfolded = gaps / np.mean(gaps)
tools/exp_spectral_rigidity.py:116:        levels = np.concatenate([[0], np.cumsum(unfolded)])
tools/exp_spectral_rigidity.py:123:            g_s = unfolded.copy()
tools/exp_boundary_residual_beta_absent_audit.py:20:from exp_boundary_short_denominator_extension import gue_spacing_blocks
tools/exp_boundary_residual_beta_absent_audit.py:21:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_boundary_residual_beta_absent_audit.py:170:        "experiment": "boundary_residual_beta_absent_audit",
tools/exp_boundary_residual_beta_absent_audit.py:235:    parser.add_argument("--out", default="tools/data/boundary_residual_beta_absent_audit_20260510_0330.json")
tools/field_coherence_preflight.py:217:        "bridge_boundary": "vault_only",
tools/field_coherence_preflight.py:219:        "stop_boundary": "do not auto-repair",
tools/bicono_extractor.py:54:    candidate = REPORTS_DIR / f"agent_{cycle_ts}.md"
tools/bicono_extractor.py:55:    if candidate.exists():
tools/bicono_extractor.py:56:        return candidate
tools/exp_prime_sr_persistent_boundary.py:3:Audit `prime_SR_persistent_boundary` after `prime_persistent_blank` fell.
tools/exp_prime_sr_persistent_boundary.py:20:from exp_boundary_short_denominator_extension import gue_spacing_blocks
tools/exp_prime_sr_persistent_boundary.py:21:from exp_boundary_residual_beta_absent_audit import support_state
tools/exp_prime_sr_persistent_boundary.py:23:from exp_semireal_boundary_transfer_gate import row_spacings
tools/exp_prime_sr_persistent_boundary.py:59:def mod6_candidate_gap_sequence(n_gaps: int) -> np.ndarray:
tools/exp_prime_sr_persistent_boundary.py:100:        "mod6_candidates": mod6_candidate_gap_sequence(needed),
tools/exp_prime_sr_persistent_boundary.py:201:        "experiment": "prime_sr_persistent_boundary",
tools/exp_prime_sr_persistent_boundary.py:202:        "question": "Does SR remain a prime-specific one-sided boundary signature across providers, offsets, and broader non-prime controls?",
tools/exp_prime_sr_persistent_boundary.py:216:            "claim": "prime_SR_persistent_boundary holds only if prime windows keep SR as the common one-sided observable across providers and offsets while broadened non-prime controls do not share full SR persistence",
tools/exp_prime_sr_persistent_boundary.py:219:            "generator": "prime gaps from dnd_autoricerca row_spacings and direct sieve; controls from composite gaps, mod6 candidates, Cramer-like events, GUE random matrix blocks, logistic return intervals",
tools/exp_prime_sr_persistent_boundary.py:221:            "non_possible": "prime-specific SR boundary if prime SR rate falls below 8/8, if prime common obs is not exactly [SR], or if any control subfamily shares full SR persistence",
tools/exp_prime_sr_persistent_boundary.py:281:    parser.add_argument("--out", default="tools/data/prime_sr_persistent_boundary_20260512_0330.json")
tools/exp_photonic_boundary_third_included_gate.py:3:Photonic boundary third-included gate.
tools/exp_photonic_boundary_third_included_gate.py:5:This tool projects the GUE/Poisson boundary direction into a physical return:
tools/exp_photonic_boundary_third_included_gate.py:7:Poisson. It asks whether the boundary survives as an intermediate transmission
tools/exp_photonic_boundary_third_included_gate.py:215:        "experiment": "photonic_boundary_third_included_gate",
tools/exp_photonic_boundary_third_included_gate.py:230:            "claim": "photonic phi stack carries a boundary state between periodic order and balanced random disorder",
tools/exp_photonic_boundary_third_included_gate.py:237:            "third_included_photonic_boundary": third_included,
tools/exp_photonic_boundary_third_included_gate.py:263:    parser.add_argument("--out", default="tools/data/photonic_boundary_third_included_gate_20260515_1734.json")
tools/stale_field_source_map.py:51:        return "active_graph_candidate_bias"
tools/stale_field_source_map.py:120:        "active_graph_candidate_bias",
tools/exp_vc_nonsturmian_label_null_gate.py:3:Non-Sturmian label-preserving null gate for the quasiperiodic V_c boundary.
tools/exp_vc_nonsturmian_label_null_gate.py:36:def make_candidate_id(n: int, phase: float, source_mode: str, trial: int) -> str:
tools/exp_vc_nonsturmian_label_null_gate.py:102:def candidate_pool(reference: np.ndarray, rng: np.random.Generator, args: argparse.Namespace):
tools/exp_vc_nonsturmian_label_null_gate.py:117:def summarize_candidates(rows: list[dict]) -> dict:
tools/exp_vc_nonsturmian_label_null_gate.py:125:            "candidates": len(group),
tools/exp_vc_nonsturmian_label_null_gate.py:141:        candidate_ids = {
tools/exp_vc_nonsturmian_label_null_gate.py:142:            row.get("candidate_id")
tools/exp_vc_nonsturmian_label_null_gate.py:144:            if row.get("candidate_id")
tools/exp_vc_nonsturmian_label_null_gate.py:148:            "candidates": len(candidate_ids) if candidate_ids else None,
tools/exp_vc_nonsturmian_label_null_gate.py:174:                    "candidate_id": make_candidate_id(n, phase, "phi_sturmian", 0),
tools/exp_vc_nonsturmian_label_null_gate.py:183:            for source_mode, trial, seq in candidate_pool(reference, rng, args):
tools/exp_vc_nonsturmian_label_null_gate.py:189:                cid = make_candidate_id(n, phase, source_mode, trial)
tools/exp_vc_nonsturmian_label_null_gate.py:191:                    "candidate_id": cid,
tools/exp_vc_nonsturmian_label_null_gate.py:207:                            "event_source": "accepted_candidate",
tools/exp_vc_nonsturmian_label_null_gate.py:230:                        "candidate_id": best["candidate_id"],
tools/exp_vc_nonsturmian_label_null_gate.py:247:        "candidate_summary": summarize_candidates(audit_rows),
tools/exp_vc_nonsturmian_label_null_gate.py:285:        "candidate_summary": output["candidate_summary"],
tools/exp_spectral_landscape.py:8:The question: Is the boundary between GUE and Poisson populated by multiple
tools/exp_spectral_landscape.py:9:domains, or are primes special? If boundary sequences share cascade structure,
tools/exp_spectral_landscape.py:10:the boundary IS the content.
tools/exp_spectral_landscape.py:29:    """Prime gaps (unfolded via local density)."""
tools/exp_spectral_landscape.py:124:    This is the canonical boundary model from quantum chaos."""
tools/exp_spectral_landscape.py:135:    """Gaps between Fibonacci numbers (unfolded)."""
tools/exp_spectral_landscape.py:149:    """Gaps between quadratic residues mod large prime (unfolded)."""
tools/exp_spectral_landscape.py:168:    """Anderson model at critical point (3D) — known to be at the boundary.
tools/exp_spectral_landscape.py:340:        # Boundary candidates
tools/exp_spectral_landscape.py:384:    # Boundary analysis — do boundary domains share structure?
tools/exp_spectral_landscape.py:385:    boundary = [r for r in results if "error" not in r and classify(r["r_mean"]) == "BOUNDARY_low"]
tools/exp_spectral_landscape.py:386:    if boundary:
tools/exp_spectral_landscape.py:387:        print(f"\n=== Boundary Domains ({len(boundary)}) ===")
tools/exp_spectral_landscape.py:388:        for b in boundary:
tools/exp_spectral_landscape.py:391:        # Test: do boundary domains have correlated observables?
tools/exp_spectral_landscape.py:392:        if len(boundary) >= 3:
tools/exp_spectral_landscape.py:393:            r_vals = [b["r_mean"] for b in boundary]
tools/exp_spectral_landscape.py:394:            beta_vals = [b["beta"] for b in boundary]
tools/exp_spectral_landscape.py:395:            acf1_vals = [b["acf1"] for b in boundary]
tools/exp_spectral_landscape.py:400:    # Key question: are primes unique at the boundary or do others live there?
tools/data/reports/agent_20260515_1734.md:7:**observable_contract**: claim=`phi` fotonico manifesta un confine fisico tra ordine periodico e disordine random; observable=statistiche della trasmissione in lambda (`stopband_fraction`, `spectral_entropy`, `peak_spacing_r`); operator=`tools/exp_photonic_boundary_third_included_gate.py`; generator=multistrati quarter-wave fixed-thickness phi/silver/bronze/periodic/balanced_random; denominator=N={55,89,144} x phase={0,0.25,0.5,0.75}, random_trials=12, lambda=0.65..1.85 su 241 punti; non_possible=terzo incluso fotonico chiuso se `phi` non resta dentro il segmento periodico-random su stopband ed entropia o se collassa nel random; not_tested=modello Maxwell completo con interfacce fisiche calibrate, misure sperimentali, GUE/Poisson universality diretta.
tools/data/reports/agent_20260515_1734.md:14:- **Operatori laterali scelti**: transfer matrix ottica per il ritorno fisico; boundary operator per tenere il denominatore riga-per-riga; spectrum-preserving style control come random bilanciato a densita phi.
tools/data/reports/agent_20260515_1734.md:45:- `python -m py_compile tools/exp_photonic_boundary_third_included_gate.py` completato.
tools/data/reports/agent_20260515_1734.md:46:- Run: `python tools/exp_photonic_boundary_third_included_gate.py --out tools/data/photonic_boundary_third_included_gate_20260515_1734.json`.
tools/data/reports/agent_20260515_1734.md:65:| third_included_photonic_boundary | false |
tools/data/reports/agent_20260515_1734.md:97:ssp_value: yes. Lo script `exp_photonic_boundary_third_included_gate.py` e' riusabile per testare stack ottici con generatori, fasi, indici e griglie lambda diverse prima di trasformare il risultato in demo o visualizzazione.
tools/data/reports/agent_20260515_1734.md:109:- `tools/exp_photonic_boundary_third_included_gate.py`
tools/data/reports/agent_20260515_1734.md:110:- `tools/data/photonic_boundary_third_included_gate_20260515_1734.json`
tools/lab_falsifier.py:236:    candidate = fenced.group(1) if fenced else None
tools/lab_falsifier.py:237:    if not candidate:
tools/lab_falsifier.py:241:        candidate = raw[start:]
tools/lab_falsifier.py:243:        return json.loads(candidate)
tools/lab_falsifier.py:247:        for i, c in enumerate(candidate):
tools/lab_falsifier.py:254:                        return json.loads(candidate[: i + 1])
tools/lab_falsifier.py:365:        for marker in ("v_c", "vc ", "fit", "sturmian", "label", "boundary")
tools/data/reports/agent_20260516_0330.md:5:**verdict**: CONSTRAINT - il boundary a due lettori resta una sola riga; i tre residui graph-only sono frequenza grafica auditata, non conferma a due lettori. Due residui superano entrambi i null grafici, con lift piccolo.
tools/data/reports/agent_20260516_0330.md:6:observables_registry: 1.0.0-2026-05-06 via boundary_graph_curvature_gate
tools/data/reports/agent_20260516_0330.md:8:**observable_contract**: claim=i residui graph-only sono Lab-specific solo se la frequenza bridge osservata supera label-shuffle e degree-preserving graph null; observable=frequenza graph bridge osservata contro frequenze null grafiche; operator=rerun del lettore graph BOUNDARY con label shuffle e rewiring degree-preserving; generator=13 righe BOUNDARY row-aligned in feature space canonical+rigidity+shuffle-z; denominator=13 righe, 8 GUE e 5 Poisson, su 6 letture grafiche e 384 trial per ciascun null; non_possible=residuo Lab graph-only se i null matchano o superano la frequenza osservata; not_tested=nuovi sistemi Hamiltoniani, unfolding alternativi, universalita fisica dei residui graph-only.
tools/data/reports/agent_20260516_0330.md:16:- **Proto-ipotesi**: il nodo regressivo del 19:15 non e' "il grafo conferma tre boundary"; e' "il contratto deve separare boundary a due lettori da frequenza grafica auditata".
tools/data/reports/agent_20260516_0330.md:22:- `not_drift`: non usa il report Sturmian bloccato, non misura V_c, non usa phi/silver/bronze; ripara il contratto del boundary 19:15 nel nodo regressivo indicato dal falsifier.
tools/data/reports/agent_20260516_0330.md:25:- **Baseline noto piu' vicino**: Brody distribution, Berry-Robnik-like mixture e Rosenzweig-Porter come famiglia fisica di crossover; per il grafo, null label-shuffle e degree-preserving rewiring.
tools/data/reports/agent_20260516_0330.md:29:- **Contratto corretto**: `two_reader_boundary_confirmed = 1`; `graph_only_residue = 3`; `graph_specific_residue_after_nulls = 2`; `scope_change_declared = true`; `graph_baseline_audit = label_shuffle + degree_preserving_rewire`.
tools/data/reports/agent_20260516_0330.md:32:> Nel perimetro 8/5, il residuo graph-only sopravvive come contenuto Lab solo dopo audit contro null grafici; non si somma al boundary a due lettori.
tools/data/reports/agent_20260516_0330.md:40:- **Punto fisico di ritorno**: nelle finestre finite di sistemi Rosenzweig-Porter, Anderson o Aubry-Andre, una finestra graph-only va trattata come candidato da stressare con null topologici prima di chiamarla boundary fisico.
tools/data/reports/agent_20260516_0330.md:46:- **Script**: `tools/exp_boundary_graph_null_audit.py`.
tools/data/reports/agent_20260516_0330.md:47:- **Input**: `tools/data/boundary_denominator_prescan_full_20260509_1500.json` + `tools/data/boundary_bridge_stability_audit_20260515_1915.json`.
tools/data/reports/agent_20260516_0330.md:48:- **Run**: `python tools/exp_boundary_graph_null_audit.py --n-gaps-values 1024 --seeds 20260515,20260516 --n-shuffle 8 --out tools/data/boundary_graph_null_audit_20260516_0330.json`.
tools/data/reports/agent_20260516_0330.md:59:| two_reader_boundary_confirmed | 1 |
tools/data/reports/agent_20260516_0330.md:77:2. Verificato: `two_reader_boundary_confirmed = 1`: solo `numeri_primi:cycle_3` e' classic-and-graph bridge stabile.
tools/data/reports/agent_20260516_0330.md:78:3. Verificato: `graph_only_residue = 3`: `percolation`, `reaction_diffusion`, `logistica_biforcazione_var_3.5699` restano separati dal boundary a due lettori.
tools/data/reports/agent_20260516_0330.md:85:Il boundary operativo non e' la somma di quattro righe. E' una riga a due lettori piu' tre residui grafici dichiarati; due residui sopravvivono ai null grafici con lift positivo, uno cade contro rewiring. Il nodo regressivo corregge il contratto da `due lettori` a `frequenza grafica + audit dichiarato` per i graph-only.
tools/data/reports/agent_20260516_0330.md:88:- **Due radici**: boundary a due lettori; residuo graph-only auditato.
tools/data/reports/agent_20260516_0330.md:91:- **Campo di possibilita**: possibile = portare due residui graph-only su sistemi fisici controllati come candidati; non-possibile = contare graph-only come boundary confermato o promuovere reaction_diffusion senza nuovo null.
tools/data/reports/agent_20260516_0330.md:94:Il prossimo ciclo utile non aggiunge metriche al perimetro 13 righe. Porta il gate su un sistema fisico controllato, preferibilmente Rosenzweig-Porter o Anderson/mobility edge, e richiede per ogni finestra: Brody/Berry-Robnik, frequenza grafica, label-shuffle e rewiring degree-preserving.
tools/data/reports/agent_20260516_0330.md:97:ssp_value: yes. `tools/exp_boundary_graph_null_audit.py` diventa audit riusabile per distinguere boundary a due lettori, residuo graph-only e artefatto grafico in ogni perimetro GUE/Poisson row-aligned.
tools/data/reports/agent_20260516_0330.md:103:- `python -m py_compile tools/exp_boundary_graph_null_audit.py` completato.
tools/data/reports/agent_20260516_0330.md:104:- `python tools/exp_boundary_graph_null_audit.py --n-gaps-values 1024 --seeds 20260515,20260516 --n-shuffle 8 --out tools/data/boundary_graph_null_audit_20260516_0330.json` completato.
tools/data/reports/agent_20260516_0330.md:109:- Script: `tools/exp_boundary_graph_null_audit.py`
tools/data/reports/agent_20260516_0330.md:110:- Data: `tools/data/boundary_graph_null_audit_20260516_0330.json`
tools/exp_boundary_two_axis_matrix.py:5:Input is a row-aligned semi-real boundary gate deposit. The operator deliberately
tools/exp_boundary_two_axis_matrix.py:106:        "experiment": "boundary_two_axis_matrix",
tools/exp_boundary_two_axis_matrix.py:133:    parser.add_argument("--input", default="tools/data/semireal_boundary_transfer_gate_20260509_1516.json")
tools/exp_boundary_two_axis_matrix.py:134:    parser.add_argument("--out", default="tools/data/boundary_two_axis_matrix_20260509_1532.json")
tools/data/reports/agent_20260509_1409.md:7:observables_used: [`denominator_state`, `excluded_mass`, `spacing_r`, `shuffle_r_statistic`, `transfer`] - osservabili domain-native per il gate boundary, non canonici SR/SR2/L1/L2/triple_var.
tools/data/reports/agent_20260509_1409.md:8:**observable_contract**: claim=`denominator_state` puo' trasferire oltre `V_c` solo dove la riga domain/window ha osservabile definito e null/surrogate row-aligned; observable=`spacing_r` + availability del null shuffle; operator=prescan sui 13 domini base del deposito autoricerca, non fit parametrico; generator=perimetro 8 GUE-like / 5 Poisson-like dei cycle 1..13; denominator=`boundary_shuffle_audit` quando presente; non_possible=dichiarare transfer nei domini senza null/surrogate; not_tested=nuovi spettri, nuovi domini, fit `V_c`, famiglia AICc, QxG chiuso.
tools/data/reports/agent_20260509_1409.md:14:- **Piano superiore**: grafo della conoscenza e boundary operator. Il bordo e' una filtrazione: prima osservabile, poi null, poi claim.
tools/data/reports/agent_20260509_1409.md:16:- **Possibile / non-possibile**: possibile = claim boundary su righe con null row-aligned; non-possibile = claim di transfer nei domini senza null, anche quando `spacing_r` locale esiste.
tools/data/reports/agent_20260509_1409.md:17:- **Proiezione**: creare `tools/exp_boundary_denominator_prescan.py` e misurare 13 righe base: domain/window, source type, denominator_state, excluded mass, observable, null/surrogate, transfer.
tools/data/reports/agent_20260509_1409.md:28:- Nuovo strumento: `tools/exp_boundary_denominator_prescan.py`.
tools/data/reports/agent_20260509_1409.md:29:- Input: `tools/data/autoricerca_journal.json` e `tools/data/boundary_shuffle_audit.json`.
tools/data/reports/agent_20260509_1409.md:30:- Output: `tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:97:Il prossimo ciclo boundary deve costruire null/surrogate row-aligned per i 5 blank. Se quei null entrano, il gate puo' diventare condizione cross-dominio completa. Se non entrano, il confine resta un perimetro 8/13 con blank dichiarato.
tools/data/reports/agent_20260509_1409.md:100:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/dnd_scenario.py --best`, `agent_20260509_1337.md`, `agent_20260509_1400.md`, `falsifier_20260509_1400.json`, `agent_20260507_0330.md`, `tools/data/autoricerca_journal.json`, `tools/data/boundary_shuffle_audit.json`, nuovo JSON `tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:103:- **L3 no silent patching**: il ciclo non corregge il fit 14:00; usa quel falsifier come veto e cambia nodo al boundary denominator.
tools/data/reports/agent_20260509_1409.md:111:- Verifica script: `python -m py_compile tools/exp_boundary_denominator_prescan.py` completato senza errori.
tools/data/reports/agent_20260509_1409.md:112:- Run valido: `python tools/exp_boundary_denominator_prescan.py --out tools/data/boundary_denominator_prescan_20260509_1409.json`.
tools/data/reports/agent_20260509_1409.md:115:- Script nuovo: `tools/exp_boundary_denominator_prescan.py`
tools/data/reports/agent_20260509_1409.md:116:- Data: `tools/data/boundary_denominator_prescan_20260509_1409.json`
tools/data/reports/agent_20260508_2108.md:13:- **Piano superiore**: boundary operator su grafo aritmetico. Il gap e' bordo tra primi; la carica Mobius del vuoto tra primi decide se il bordo e' solo rumore di lunghezza o classe informativa.
tools/data/reports/agent_20260508_2108.md:14:- **Operatori laterali scelti**: boundary operator, random walk, entropia. Boundary operator definisce il bordo prime-free; random walk fornisce il null di permutazione della carica; entropia entra come dispersione del vuoto senza primi.
tools/data/reports/agent_20260508_2108.md:27:Lo zero della carica Mobius intervallare e' rumore, boundary o mediatore del segnale low-low/high-high/SR?
tools/data/reports/agent_20260508_2108.md:85:- **Campo di possibilita**: qui diventa possibile testare un gate triadico del boundary aritmetico. Qui diventa non-possibile escludere `S=0` dal denominatore quando si parla di terzo incluso nel perimetro Mobius-primi.
tools/data/reports/agent_20260508_2108.md:88:Il prossimo passo deve separare terza classe autentica da effetto scala dell'intervallo: ripetere il gate con controllo che preserva anche la lunghezza del gap o stratifica per bucket di gap length. Se lo zero resta significativo dentro ogni bucket, il boundary e' aritmetico; se cade, il segnale e' dipendenza da lunghezza.
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:238:- boundary operator;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:339:- unfolding;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:356:- unfolding alternative;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:413:- boundary condition;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:428:- boundary swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:495:- boundary condition swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:609:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:727:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:869:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:993:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/manual_controlled_snapshot_20260515_1705_3616547/agent_field_live.md:995:### QxG — candidate_needs_contract
tools/data/reports/agent_20260516_0921.md:5:**verdict**: CONSTRAINT/FINDING - la finestra RP `0.045-0.060` non resta intera sotto unfolding alternativo. `RP_lambda_0.045` resta terzo incluso operativo in entrambi gli unfolding; `RP_lambda_0.060` e unfolding-sensitive.
tools/data/reports/agent_20260516_0921.md:7:observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode]
tools/data/reports/agent_20260516_0921.md:8:**observable_contract**: claim=la finestra RP finita e unfolding-stable solo se le stesse righe lambda battono label-shuffle e position-shift sotto normalizzazione globale e locale; observable=thresholded two-reader raw-count pass per lambda, size e unfolding mode; operator=repeat del gate RP 08:20 con `global_mean` e `local_window`; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed, k e unfolding mode; denominator=11 lambda per size/mode, observed denominator 12, label-null 768, position-null 120; non_possible=boundary unfolding-stable se una lambda promossa cade sotto local-window; not_tested=N piu grande, finestre locali diverse da 7, spettri sperimentali, Anderson 3D, many-body RP.
tools/data/reports/agent_20260516_0921.md:12:- **Dipolo / punto-zero**: finestra fisica stabile / artefatto di unfolding. Punto-zero: la stessa riga lambda prima che l'unfolding scelga il confine al posto del dato.
tools/data/reports/agent_20260516_0921.md:14:- **Operatori laterali scelti**: Hamiltonian flow, local unfolding, kNN graph cut.
tools/data/reports/agent_20260516_0921.md:15:- **Contaminazione cognitiva**: CE-0019 usata per fissare combo prima della misura; CE-0022 usata per scegliere operatori senza tornare a Sturmian. YSN DeltaLink=`finestra RP / cambio di unfolding`; Cornelius gene=`UNFOLDING_BEFORE_UNIVERSALITY`: RIPETI GATE, CAMBIA COORDINATA, CONTA, TAGLIA FINESTRA.
tools/data/reports/agent_20260516_0921.md:17:- **Proiezione**: misura su lambda RP, size 64/96/128, 4 seed, k=2/3/4, 64 label-shuffle per lettura, 10 position-shift, due unfolding mode.
tools/data/reports/agent_20260516_0921.md:22:- `not_drift`: non usa Sturmian, phi/silver/bronze, V_c o generatori locali; cambia solo la coordinata di unfolding sullo stesso perimetro RP row-aligned.
tools/data/reports/agent_20260516_0921.md:25:- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
tools/data/reports/agent_20260516_0921.md:26:- **Cosa viene assorbito dal baseline**: una finestra intermedia e attesa; la dipendenza dall'unfolding e un controllo standard prima di promuovere universalita.
tools/data/reports/agent_20260516_0921.md:27:- **Cosa resta Lab-specific**: il contratto `classical_intermediate + graph-thresholded + raw counts + unfolding stability` prima della parola boundary.
tools/data/reports/agent_20260516_0921.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = RP_lambda_0.045`; `unfolding_sensitive = RP_lambda_0.060`; `graph_only_residue = 0`; `graph_baseline_audit = label shuffle + position shift + unfolding switch`.
tools/data/reports/agent_20260516_0921.md:31:> Nel Rosenzweig-Porter finito, una riga del confine e terzo incluso operativo solo se resta all-size thresholded sotto global mean unfolding e local-window unfolding.
tools/data/reports/agent_20260516_0921.md:34:La finestra RP `0.045-0.060` del ciclo 08:20 sopporta un unfolding alternativo, o una delle due righe era coordinata-dipendente?
tools/data/reports/agent_20260516_0921.md:37:- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
tools/data/reports/agent_20260516_0921.md:38:- **Attraversamento matematico**: cambio di coordinata sugli spacing, da global mean a local-window unfolding, con lo stesso grafo kNN e gli stessi null row-aligned.
tools/data/reports/agent_20260516_0921.md:39:- **Punto fisico di ritorno**: una finestra finita in cui il boundary non dipende dalla normalizzazione locale degli spacing.
tools/data/reports/agent_20260516_0921.md:40:- **Relazione nuova**: il boundary RP stabile e piu stretto della finestra globale: `0.045` resta, `0.060` cade.
tools/data/reports/agent_20260516_0921.md:41:- **Osservabile/test fisico possibile**: ripetere `0.045` su size maggiori o su unfolding locali diversi; trattare `0.060` come coordinata sensibile.
tools/data/reports/agent_20260516_0921.md:42:- **Se fallisce**: se `0.045` cade con size maggiori o altri unfolding, il risultato diventa vincolo finito, non ponte fisico.
tools/data/reports/agent_20260516_0921.md:45:- **Script**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
tools/data/reports/agent_20260516_0921.md:46:- **Run**: `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`.
tools/data/reports/agent_20260516_0921.md:51:- **Soglia preregistrata**: observed rate `>=0.75`, lift minimo contro ciascun null `>=0.10`, p-value `<=0.05` contro ciascun null, `classical_intermediate`, pass su tutte le size e su entrambi gli unfolding.
tools/data/reports/agent_20260516_0921.md:56:| 0.045 | 64,96,128 | 1.000000 | 0.523438 | 0.000137 | 64,96,128 | 0.750000 | 0.332031 | 0.021029 | unfolding_stable |
tools/data/reports/agent_20260516_0921.md:57:| 0.060 | 64,96,128 | 0.750000 | 0.343750 | 0.017103 | [] | 0.000000 | -0.350000 | 1.000000 | unfolding_sensitive |
tools/data/reports/agent_20260516_0921.md:74:1. Verificato: `RP_lambda_0.045` passa in `global_mean` e `local_window` su tutte le size. Il punto debole e local-window N=128 con `9/12`, ma resta sopra soglia con max null p=`0.021029` e min lift=`0.332031`.
tools/data/reports/agent_20260516_0921.md:75:2. Verificato: `RP_lambda_0.060` passa in global_mean su tutte le size, ma cade in local-window con `4/12`, `4/12`, `0/12`; i p-value locali sono alti e il lift minimo diventa negativo.
tools/data/reports/agent_20260516_0921.md:76:3. Verificato: `RP_lambda_0.075` non era all-size neppure in global_mean e cade interamente in local-window.
tools/data/reports/agent_20260516_0921.md:77:4. Inferito dal perimetro: il boundary fisico controllato non e la finestra `0.045-0.060`; il nucleo unfolding-stable e `0.045`, mentre `0.060` e una coordinata utile ma non invariante.
tools/data/reports/agent_20260516_0921.md:82:Il finding 08:20 viene ristretto al nodo regressivo giusto: non "finestra RP `0.045-0.060` stabile", ma "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable nel perimetro finito testato". `RP_lambda_0.060` resta boundary global-mean, non boundary invariantoide. Il prossimo ciclo deve stressare `0.045`, non salvare `0.060`.
tools/data/reports/agent_20260516_0921.md:85:- **Due radici**: boundary robusto; boundary coordinata-dipendente.
tools/data/reports/agent_20260516_0921.md:86:- **Singolare**: stessa riga lambda sotto cambio di unfolding.
tools/data/reports/agent_20260516_0921.md:87:- **Invariante di passaggio**: `classical_intermediate + raw-count threshold + all-size + all-unfolding`.
tools/data/reports/agent_20260516_0921.md:88:- **Campo di possibilita**: possibile = usare `0.045` come nucleo RP per size/unfolding stress; non-possibile = promuovere `0.060` come stabile senza qualificare global_mean.
tools/data/reports/agent_20260516_0921.md:91:Portare `RP_lambda_0.045` su un controllo piu duro: size maggiore oppure seconda finestra locale. Se regge, rimbalzo fisico B su Anderson 3D con gate raw-count; se cade, cristallizzare `finite_RP_lambda_0.045_boundary` come vincolo di perimetro.
tools/data/reports/agent_20260516_0921.md:94:ssp_value: yes. `tools/exp_rp_unfolding_sensitivity_audit.py` e uno stress-test riusabile per separare boundary stabile da boundary dipendente dalla normalizzazione degli spacing.
tools/data/reports/agent_20260516_0921.md:99:- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
tools/data/reports/agent_20260516_0921.md:100:- `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json` completato.
tools/data/reports/agent_20260516_0921.md:106:- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
tools/data/reports/agent_20260516_0921.md:107:- Data: `tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json`
tools/data/reports/agent_20260516_0820.md:5:**verdict**: FINDING - nel Rosenzweig-Porter controllato il terzo incluso operativo supera due null row-aligned in una finestra size-stable stretta: `RP_lambda_0.045` e `RP_lambda_0.060`.
tools/data/reports/agent_20260516_0820.md:8:**observable_contract**: claim=la riga RP boundary e terzo incluso fisico controllato solo se i count grezzi del grafo battono label-shuffle e position-shift sulla stessa riga lambda; observable=successi osservati/null, intervalli Wilson, p-value binomial-tail, Brody q e mixture weight; operator=flusso Rosenzweig-Porter finito con perturbazioni kNN e due null row-aligned; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE su size, seed e k; denominator=11 lambda per size, observed denominator 12 per size, label-null 768 per size, position-null 120 per size; non_possible=boundary thresholded se nessuna lambda batte entrambi i null o se il pass non e size-stable; not_tested=N infinito, unfolding alternativi, spettri sperimentali, Anderson 3D, many-body RP.
tools/data/reports/agent_20260516_0820.md:25:- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, crossover Wigner-Dyson/Poisson.
tools/data/reports/agent_20260516_0820.md:28:- **Separazione richiesta**: `two_reader_boundary_confirmed = 2 all-size rows`; `graph_only_residue = 0`; `classic_only_residue = righe intermedie senza pass graph/null`; `graph_baseline_audit = kNN perturbation + label shuffle + position shift`.
tools/data/reports/agent_20260516_0820.md:31:> Nel Rosenzweig-Porter finito, il terzo incluso operativo e una finestra stretta di lambda che resta classically-intermediate e graph-thresholded contro due null row-aligned su tutte le size testate.
tools/data/reports/agent_20260516_0820.md:34:La finestra RP boundary batte i null con count grezzi e resta size-stable, o il grafo produce solo un lift positivo non-thresholded?
tools/data/reports/agent_20260516_0820.md:37:- **Punto fisico sorgente**: transizione spettrale Poisson/GUE nel Rosenzweig-Porter diagonal-plus-GUE.
tools/data/reports/agent_20260516_0820.md:38:- **Attraversamento matematico**: count di `third_included_candidate` su grafo kNN, con null label-shuffle e position-shift.
tools/data/reports/agent_20260516_0820.md:40:- **Relazione nuova**: il boundary RP non e l'intera regione intermedia; e la parte della regione intermedia che sopravvive al doppio lettore e ai null.
tools/data/reports/agent_20260516_0820.md:42:- **Se fallisce**: se 0.045/0.060 non replicano con size maggiori o unfolding alternativo, il risultato diventa vincolo finito, non boundary fisico.
tools/data/reports/agent_20260516_0820.md:45:- **Script**: `tools/exp_rp_boundary_raw_count_null_audit.py`.
tools/data/reports/agent_20260516_0820.md:46:- **Run**: `python tools/exp_rp_boundary_raw_count_null_audit.py --out tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json`.
tools/data/reports/agent_20260516_0820.md:81:1. Verificato: `RP_lambda_0.045` passa su tutte le size con observed `12/12` ogni volta; il peggior p-value contro null e `0.000137`.
tools/data/reports/agent_20260516_0820.md:82:2. Verificato: `RP_lambda_0.060` passa su tutte le size; il punto debole e N=64 con `9/12`, label p=`0.017103`, min lift=`0.343750`, ancora sopra soglia.
tools/data/reports/agent_20260516_0820.md:83:3. Verificato: `RP_lambda_0.075` e intermittente; cade a N=96 con `8/12`, label p=`0.051823`, observed rate sotto `0.75`.
tools/data/reports/agent_20260516_0820.md:85:5. Inferito dal perimetro: la finestra operativa e stretta, centrata sul lato iniziale del crossover; la regione classica intermedia piu ampia non coincide con il boundary Lab.
tools/data/reports/agent_20260516_0820.md:90:Il contratto raw-count threshold trasferisce dal filtro operativo 07:20 a un sistema fisico controllato. Nel perimetro finito RP, `lambda=0.045` e `lambda=0.060` sono terzo incluso operativo: classically-intermediate, graph-stable, sopra soglia contro label-shuffle e position-shift, e size-stable su 64/96/128. `lambda=0.075` resta candidato intermittente, non riga all-size. Il boundary non e tutta la regione intermedia; e la finestra che sopporta il doppio lettore.
tools/data/reports/agent_20260516_0820.md:94:- **Singolare**: lambda row-aligned prima della parola boundary.
tools/data/reports/agent_20260516_0820.md:96:- **Campo di possibilita**: possibile = trasferire il gate su altri crossover fisici con count/null; non-possibile = chiamare boundary ogni riga Brody-intermediate.
tools/data/reports/agent_20260516_0820.md:99:Portare la stessa finestra `0.045-0.060` su un controllo piu duro: size maggiore o unfolding alternativo RP. Se regge, confrontare con Anderson 3D come rimbalzo fisico B; se cade, registrare `finite_RP_boundary_window` come vincolo, non come universalita.
tools/data/reports/agent_20260516_0820.md:102:ssp_value: yes. `tools/exp_rp_boundary_raw_count_null_audit.py` e uno strumento riusabile: prende un crossover fisico row-aligned, conta supporto osservato e null, e impedisce promozioni di boundary senza denominatori.
tools/data/reports/agent_20260516_0820.md:107:- `python -m py_compile tools/exp_rp_boundary_raw_count_null_audit.py` completato.
tools/data/reports/agent_20260516_0820.md:108:- `python tools/exp_rp_boundary_raw_count_null_audit.py --out tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json` completato.
tools/data/reports/agent_20260516_0820.md:114:- Script: `tools/exp_rp_boundary_raw_count_null_audit.py`
tools/data/reports/agent_20260516_0820.md:115:- Data: `tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json`
tools/data/reports/agent_20260507_0901.md:78:The next word is not `boundary_layer`. The correct category is:
tools/data/reports/agent_20260509_1457.md:8:**observable_contract**: claim=`V_c(phi)` converge a 1 come limite leggibile del canale ordinato; observable=relazione dei punti fit-ready con il bordo `V_c=1`; operator=`exp_vc_unit_boundary_audit.py` su deposito `vc_fit_model_gate_20260509_1400`; generator=`reference_order`, `order_memory`, `periodic_closure`, `random_dispersion`; denominator=13 righe ammissibili `complete/contaminated` del fit model gate, N={89,144,233,377}, soglie r={0.48,0.50,0.52}, livelli `per_mode_best` e `accepted_candidates`; non_possible=dichiarare convergenza a 1 dall'alto quando la curva osservata attraversa sotto 1 nel perimetro; not_tested=nuovi spettri, nuovi N, nuovi candidati, limite asintotico oltre la finestra osservata.
tools/data/reports/agent_20260509_1457.md:15:- **Operatori laterali scelti**: boundary operator, graph cut, fit come morfismo. Entrano per separare il bordo unitario dal modello numerico.
tools/data/reports/agent_20260509_1457.md:18:- **Possibile / non-possibile**: possibile = usare `V_c=1` come unit boundary audit; non-possibile = chiamarlo limite osservato quando 12/13 righe hanno punti sotto 1.
tools/data/reports/agent_20260509_1457.md:28:- Nuovo strumento: `tools/exp_vc_unit_boundary_audit.py`.
tools/data/reports/agent_20260509_1457.md:30:- Output: `tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:66:| accepted_candidates:order_memory:r0.48 | contaminated | 273/279 | 6 | 1.474 | 1.069 | all_above | blank |
tools/data/reports/agent_20260509_1457.md:67:| accepted_candidates:order_memory:r0.50 | contaminated | 278/279 | 1 | 1.350 | 0.899 | crosses_down | 332.733 |
tools/data/reports/agent_20260509_1457.md:68:| accepted_candidates:order_memory:r0.52 | complete | 279/279 | 0 | 1.236 | 0.781 | crosses_down | 272.895 |
tools/data/reports/agent_20260509_1457.md:78:| accepted_candidates:order_memory:r0.52 | 272.895 |
tools/data/reports/agent_20260509_1457.md:81:| accepted_candidates:order_memory:r0.50 | 332.733 |
tools/data/reports/agent_20260509_1457.md:86:3. **Verificato: l'unica riga all-above e' contaminata.** `accepted_candidates:order_memory:r0.48` resta sopra 1, ma ha 273/279 righe fit-ready e 6 righe escluse; non puo' sostenere da sola il claim hard.
tools/data/reports/agent_20260509_1457.md:97:`V_c=1` e' un unit boundary audit del sottografo fit-ready; non e' attrattore verificato della scala nel perimetro 14:00.
tools/data/reports/agent_20260509_1457.md:109:- **Fonti**: Verificato da `tools/data/agent_field_live.md`, `tools/LAB_AGENT_CONTEXT.md`, `tools/data/seme.json`, `tools/dnd_scenario.py --best`, report `agent_20260509_1337.md`, report `agent_20260509_1400.md`, JSON `tools/data/vc_fit_model_gate_20260509_1400.json`, nuovo JSON `tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:116:- **L7 possibile/non-possibile**: possibile = unit boundary audit; non-possibile = convergenza a 1 dall'alto nel perimetro osservato.
tools/data/reports/agent_20260509_1457.md:120:- Verifica script: `python -m py_compile tools/exp_vc_unit_boundary_audit.py`.
tools/data/reports/agent_20260509_1457.md:121:- Run valido: `python tools/exp_vc_unit_boundary_audit.py --input tools/data/vc_fit_model_gate_20260509_1400.json --out tools/data/vc_unit_boundary_audit_20260509_1457.json`.
tools/data/reports/agent_20260509_1457.md:123:- Git state: worktree gia' sporco da cicli precedenti; questo cycle aggiunge solo lo script unit-boundary, il JSON 1457 e questo report.
tools/data/reports/agent_20260509_1457.md:126:- Script nuovo: `tools/exp_vc_unit_boundary_audit.py`
tools/data/reports/agent_20260509_1457.md:127:- Data: `tools/data/vc_unit_boundary_audit_20260509_1457.json`
tools/data/evolution/evolution_20260516_0921.md:3:Il report osserva il passo come contrazione della finestra RP, segnala l’attrito `completed_no_jsonl` e la latenza del perimetro troppo ampio, collocando la riparazione regressiva nel pre-run: `step_trace` provider-agnostica e perimetro `candidate_rows + sentinels` dichiarato prima dell’esecuzione.
tools/data/reports/agent_20260515_1712.md:14:- **Operatori laterali scelti**: boundary operator per separare warning e claim; graph cut per bloccare selettori freshness; spectrum-preserving style control come forma generale del null che conserva perimetro ma distrugge selezione.
tools/data/evolution/evolution_20260511_0330.md:3:Ho mantenuto il report breve e centrato sul passo: scissione `prime_persistent_blank` in due canali, attrito telemetrico `completed_no_jsonl`, nodo regressivo nel contratto di osservazione, consecutio verso `prime_SR_persistent_boundary`.
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:72:- `candidate`: possibile linea futura, non contratto;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:356:- boundary operator;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:457:- unfolding;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:474:- unfolding alternative;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:531:- boundary condition;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:546:- boundary swap;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:613:- boundary condition swap;
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:727:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:845:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:987:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:1115:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=True, fit_ready_contract=False.
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:1117:### QxG — candidate_needs_contract
tools/data/preflight/agent_field_live_backup_pre_authority_replace_20260515_1620.md:1217:3. **Verificato**: il graph candidate QxG r
tools/data/reports/agent_20260508_2013.md:7:observables_used: [boundary_distance, boundary_hit_le_2, zeckendorf_weight, zeckendorf_suffix_zeros]
tools/data/reports/agent_20260508_2013.md:8:**observable_contract**: claim=se il boundary esatto del supertile e' portatore globale del core alto, le posizioni IDS dei gap core devono mostrare migliore riconoscibilita Ostrowski o maggiore prossimita ai tagli nel mode aligned rispetto al same-length misaligned; observable=distanza del centro gap da boundary di chunk, hit entro 2 siti, peso Zeckendorf e zeri finali Zeckendorf; operator=Hamiltoniana tight-binding V=1, label IDS con reader theta=1/phi, centro round(IDS*N), boundary del tiling perturbato, rappresentazione Zeckendorf del centro; generator=phi_sturmian perturbato da supertile_shuffle, same_length_contiguous_shuffle, same_count_internal_shuffle; denominator=N={377,610}, phase={0,0.25,0.5,0.75}, threshold={2.0}, trials=5, top_k=12, |n|<=34, supertile_order={8,9,10,11}; not_tested=gap_ratio, domini GUE/Poisson reali, soglie 1.75/2.25, automa formale di riconoscibilita della sostituzione, generatori non-phi.
tools/data/reports/agent_20260508_2013.md:11:- **Combo**: A4 contratto della domanda + A9 terzo incluso + A11 combo + QxG continuo/discreto + TxQ matrice densita come lettore IDS + TRASCENDENZA_LIMITE sul passaggio fra boundary locale e riconoscibilita globale.
tools/data/reports/agent_20260508_2013.md:12:- **Dipolo / punto-zero**: boundary esatto del supertile . numerazione globale della posizione; punto-zero = il centro IDS del gap prima che venga letto come taglio fisico o come cifra Fibonacci.
tools/data/reports/agent_20260508_2013.md:14:- **Operatori laterali scelti**: boundary operator, indice, rappresentazione. Boundary operator misura il taglio; indice porta il gap nello spazio posizionale; rappresentazione Zeckendorf traduce il centro in cifre Fibonacci.
tools/data/reports/agent_20260508_2013.md:16:- **Proto-ipotesi**: se il core alto porta boundary globale, `supertile_shuffle` deve avere distanza da boundary minore o firma Zeckendorf diversa da `same_length_contiguous_shuffle`. Se resta equivalente, il boundary esatto non e' portatore rilevato neppure al piano Ostrowski.
tools/data/reports/agent_20260508_2013.md:17:- **Proiezione**: per ogni label core selezionato, mappo IDS -> centro circolare e misuro distanza dal boundary piu' vicino e cifre Zeckendorf del centro.
tools/data/reports/agent_20260508_2013.md:20:> Il boundary esatto del supertile, non rilevato localmente, emerge come riconoscibilita globale: high-core aligned deve battere high-core misaligned in distanza da boundary o firma Ostrowski/Zeckendorf.
tools/data/reports/agent_20260508_2013.md:23:Le posizioni IDS dei gap high-core `[3,-4,4,6]` si avvicinano ai boundary veri dei supertile o portano una firma Zeckendorf diversa quando il chunk e' aligned, oppure aligned e misaligned restano equivalenti anche sul piano globale?
tools/data/reports/agent_20260508_2013.md:31:  - `boundary_distance`: distanza circolare dal boundary piu' vicino.
tools/data/reports/agent_20260508_2013.md:32:  - `boundary_hit_le_2`: hit se distanza <= 2 siti.
tools/data/reports/agent_20260508_2013.md:40:| mode | group | rows | boundary hit <=2 | median boundary distance | median distance / min chunk | median Zeckendorf weight | median suffix zeros |
tools/data/reports/agent_20260508_2013.md:51:| mode | group | rows | boundary hit <=2 | median boundary distance | median distance / min chunk | median Zeckendorf weight | median suffix zeros |
tools/data/reports/agent_20260508_2013.md:78:3. **Verificato: low-core e' piu' vicino ai boundary ma non identifica il boundary esatto.** Nel main run low ha distanza mediana `1.0` per aligned e misaligned, con stesso hit `324/640`. Questo mostra un effetto di posizionamento dei label bassi, non una riconoscibilita del supertile aligned.
tools/data/reports/agent_20260508_2013.md:80:4. **Inferito dal perimetro: il boundary esatto non e' portatore osservato nemmeno nel gate Ostrowski.** Dopo label-set, IDS/rank, grammatica locale e ora boundary/Zeckendorf, il portatore rilevato resta ordine interno + lunghezze Fibonacci-like, non taglio esatto del supertile.
tools/data/reports/agent_20260508_2013.md:83:**CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE**: nel perimetro dichiarato, la riconoscibilita globale Ostrowski/Zeckendorf non identifica il boundary esatto del supertile. Il high-core aligned non batte il same-length misaligned in distanza da boundary (`14.0` vs `13.0` main; `14.0` vs `13.0` seedcheck), hit entro 2 siti (`175/566` vs `196/556` main; `195/563` vs `189/551` seedcheck) o peso Zeckendorf (`2.0` vs `2.0` in entrambi).
tools/data/reports/agent_20260508_2013.md:85:Formulazione valida: il core phi alto misura una chiusura congiunta di ordine interno e distribuzione di lunghezze Fibonacci-like. Nel ramo testato, non misura boundary esatto del supertile ne' firma Ostrowski delle posizioni IDS. `gap_ratio` non e' testato.
tools/data/reports/agent_20260508_2013.md:88:- **Due radici**: boundary globale del supertile . posizione numerata del gap.
tools/data/reports/agent_20260508_2013.md:90:- **Invariante di passaggio**: aligned e misaligned conservano la stessa firma globale del high-core quando ordine interno e lunghezze restano leggibili; distruggere l'ordine interno cambia il profilo ma non crea boundary aligned.
tools/data/reports/agent_20260508_2013.md:91:- **Campo di possibilita**: qui diventa possibile chiudere il ramo "boundary esatto" per i lettori testati e spostare il claim su ordine interno + scala. Qui diventa non-possibile salvare il boundary cambiando da finestra locale a numerazione Zeckendorf sullo stesso perimetro.
tools/data/reports/agent_20260508_2013.md:94:Il prossimo passaggio non deve cercare un quinto lettore del boundary esatto nello stesso ramo. Deve contrarre il claim e testare il contro-polo naturale: generatori non-phi o Sturmiani con altra pendenza. Se ordine interno + lunghezze Fibonacci-like e' il portatore, il core alto deve decadere o trasformarsi quando il reader theta=1/phi viene tenuto fisso ma il generatore non e' phi.
tools/data/reports/agent_20260508_2013.md:99:- **L3 no silent patching**: l'ipotesi "boundary globale emerge" cade; non viene salvata spostando il significato di boundary.
tools/data/reports/agent_20260508_2013.md:100:- **L4 edge cases**: low-core vicino ai boundary e order 8 misaligned superiore sono riportati come segnali, non rimossi.
tools/data/reports/agent_20260508_2013.md:101:- **L5 re-discovery guardrail**: Zeckendorf e gap-labeling sono baseline note. Il finding e' negativo sul boundary exact e positivo sulla contrazione del claim.
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:238:- boundary operator;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:339:- unfolding;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:356:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:413:- boundary condition;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:428:- boundary swap;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:495:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:609:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:727:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:869:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:993:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_scientific_return_20260515_1706.md:995:### QxG — candidate_needs_contract
tools/exp_spectral_2d.py:71:    """Prime gaps, unfolded by local density."""
tools/exp_spectral_2d.py:89:    """Raw prime gaps (not unfolded) for distribution sampling."""
tools/data/reports/agent_20260509_0652.md:8:**observable_contract**: claim=un null che preserva il gap-label set Sturmian puo' decidere se `V_c` e' portato dal label-set o dall'ordine generativo; observable=`event_type={floor_hit,internal_cross,internal_multi,no_cross}`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`, `acceptance_rate`; operator=surrogate bilanciato con swap 0/1 e ricottura finche' `label_jaccard>=0.75`, poi curva `r(V)` su griglia 0.5..3.0 step 0.01; generator=phi Sturmian, balanced_random, swap_label_surrogate; denominator=run principale N={89}, phase={0,0.25,0.5,0.75}, r_threshold={0.48,0.50,0.52}, random_trials=1, label_trials=2, swap_steps=3000, seed=202605090652; non_possible=se i surrogate accettati Jaccard>=0.75 producono floor-hit o internal_multi e restano con `r_floor`/`vc_interp` vicini al random, il label-set non basta a ricostruire il boundary Sturmian; not_tested=GUE/Poisson reali, silver/bronze, fit power-law, gap_ratio, prova a N>=144 con gate raggiunto.
tools/data/reports/agent_20260509_0652.md:11:- **Combo**: A2 confine det=-1 + A9 terzo incluso + TxQ matrice densita come lettore spettrale + topologia assiomatica del boundary operator + tensione `TRASCENDENZA_LIMITE` proiettata sul null `V_c`.
tools/data/reports/agent_20260509_0652.md:14:- **Operatori laterali scelti**: boundary operator, filtrazione, swap-constrained surrogate. Il boundary operator separa crossing unico e multiplo; la filtrazione scorre `V`; lo swap mantiene la marginale e tenta di conservare il label-set senza copiare l'ordine Sturmian.
tools/data/reports/agent_20260509_0652.md:19:- **Proto-ipotesi**: se il label-set e' portatore sufficiente del boundary, allora un surrogate swap con Jaccard>=0.75 deve produrre crossing interno unico e `r_floor`/`vc_interp` nella zona Sturmian. Se produce internal_multi o floor_hit con valori vicini al random, il portatore e' ordine generativo oltre al label-set.
tools/data/reports/agent_20260509_0652.md:23:> Nel perimetro Sturmian-Harper N=89, preservare il gap-label set con Jaccard>=0.75 basta a ricostruire la forma `V_c` del boundary phi.
tools/data/reports/agent_20260509_0652.md:81:5. **Inferito dal confronto accettati/random/Sturmian: il label-set e' lettore, non portatore sufficiente.** Conservare una parte alta del label-set non preserva il trasporto d'ordine che rende il boundary una curva interna unica.
tools/data/reports/agent_20260509_0652.md:84:**FALSIFIED, scoped**: nel perimetro `N=89`, `phase={0,0.25,0.5,0.75}`, `r_threshold={0.48,0.50,0.52}`, preservare il gap-label set con Jaccard>=0.75 non basta a ricostruire la forma Sturmian del `V_c`. Il portatore del boundary non e' il label-set isolato: serve ordine generativo.
tools/data/reports/agent_20260509_0652.md:92:- **Campo di possibilita**: qui diventa possibile usare surrogate accettati per separare lettore e generatore; qui diventa non-possibile trattare il gap-label set come causa sufficiente del boundary `V_c`.
tools/data/reports/agent_20260509_0652.md:95:Il prossimo passaggio non e' estendere a GUE/Poisson. Prima serve un generatore label-preserving stabile cross-phase: stessa accettazione Jaccard su N={89,144,233} oppure fallimento dichiarato come vincolo del null. Solo dopo il boundary operator puo' trasferire verso domini GUE/Poisson.
tools/data/evolution/evolution_20260508_2140.md:3:Ho mantenuto il focus sul passo: inversione da fit power-law a gate di bordo, attrito tecnico dell’autopsy senza jsonl, e nodo regressivo metodologico nel null random non omogeneo rispetto al boundary operator `V_c`.
tools/data/reports/agent_20260514_1850.md:59:- **Contro-perimetro**: non e' dato sperimentale, non e' limite termodinamico, non e' unfolding dedicato, non misura many-body localization.
tools/data/reports/agent_20260514_1850.md:65:| Anderson 3D W4 metallic candidate | 768 | SR,L1,triple_var | 0.538429 / 0.383960 / +0.154470 | 0.000122 | +3.657 | -0.224752 | 0.000122 | -2.236 | -2.327689 | 0.000122 | -3.494 |
tools/data/reports/agent_20260514_1850.md:66:| Anderson 3D W16.5 critical boundary | 768 | SR,L1,triple_var | 0.509807 / 0.386906 / +0.122901 | 0.000122 | +2.741 | -0.142338 | 0.000122 | -0.945 | -1.969355 | 0.000122 | -2.504 |
tools/data/reports/agent_20260514_1850.md:80:- **Non verificato**: transizione Anderson 3D, limite `L -> inf`, spettro sperimentale, unfolding dedicato.
tools/data/reports/agent_20260514_1850.md:86:- `candidate`: Anderson 3D puo' diventare prossimo seme solo come audit di taglia/unfolding, non come legge.
tools/data/reports/agent_20260514_1850.md:117:- **Campo di possibilita**: possibile usare il tester come interfaccia spettrale riusabile; non-possibile promuovere la separazione 3D senza curva in `L` e unfolding.
tools/data/reports/agent_20260514_1850.md:121:Il prossimo seme possibile non e' "Anderson 3D confermato". E' un audit del tool su fisico B con taglie multiple e denominatore dichiarato: `L=5,6,7` o unfolding locale, stesso contract, stesso null. Se `SR,L1` restano non_separated e `triple_var` resta separated, il tool mostra che il bordo 3D entra prima nella componente di profondita' che nel piano pair-statistics.
tools/data/reports/agent_20260514_1850.md:127:- **Puo' diventare prossimo seme**: audit Anderson 3D multi-size/unfolding solo se formulato come verifica del tool, non come legge fisica.
tools/data/reports/agent_20260506_0625.md:57:5. **Poisson and shuffled-prime controls show multi-axis artifacts.** Poisson has rank 1.917/2.201 depending on observable set; prime shuffle control has rank 2.294/1.988. Multi-dimensional perturbation response by itself is not evidence of structured GUE-like boundary. It can arise from low structural signal plus noisy denominators in retention normalization.
tools/data/reports/agent_20260506_0625.md:64:The boundary is still operator-dependent, but perturbation dimensionality is not yet a stable domain invariant. The next valid test is not another single GUE matrix; it is a replicate-and-size curve for effective rank vs number of spacings, with observable definitions versioned.
tools/data/reports/agent_20260405_0919.md:44:3. **The crossover is NOT a phase transition**: there is no sharp boundary between GUE and Poisson regimes. The Brody beta decays smoothly and linearly in ln(p). The "boundary" is the entire range.
tools/data/reports/agent_20260405_0919.md:58:The "third included" at the GUE/Poisson boundary is not a point — it's a **crossover function**. The primes' level repulsion parameter decays as 0.606 - 0.020*ln(p), bridging two universality classes without belonging to either. This is structurally consistent with:
tools/data/reports/agent_20260405_0919.md:59:- The D-ND framework: the boundary between two poles (GUE/Poisson) carries its own structure
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:25:Per L2, non chiamare `sopravvive`, `residuo` o `strutturale` un lift piccolo senza count grezzi, denominatore, soglia preregistrata o p-value/permutation interval dichiarato. Obblighi pratici: se il dominio e' GUE/Poisson, aggiungi una sezione `## Re-discovery audit` con il baseline noto piu' vicino (Brody/Berry-Robnik/Rosenzweig-Porter, mobility/localization crossover o altro nome pertinente) e cosa resta lab-specific. Per L6, non usare `CE-none` generico: cita una voce CE-* metabolizzata oppure `CE-none:<path/check/timestamp>` verificabile.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:26:Se compare un residuo graph-only, separa nel report: `two_reader_boundary_confirmed`, `graph_only_residue`, `scope_change_declared`, `graph_baseline_audit`. Non sommare righe graph-only al boundary a due lettori. Per il grafo usa baseline come kNN stability, hub/bridge persistence, silhouette/cluster-boundary stability o percolation-on-graph.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:50:- report_20260515_1933: 2 ghost · Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:252:- boundary operator;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:353:- unfolding;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:370:- unfolding alternative;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:427:- boundary condition;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:442:- boundary swap;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:509:- boundary condition swap;
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:623:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:741:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:883:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:948:  - Rosenzweig-Porter Physical Bridge Audit → None/None (ρ=None)
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1013:Summary: candidate_count=1, ready_count=1, observable_contract=True, bicono_complete=True, fit_ready_contract=False.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1110:Trovato: 1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate` in tutte le taglie testate.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1111:2. Verificato: `RP_lambda_0.045` e intermittente; e stabile a N=96 e N=128, ma solo parameter-sensitive a N=64.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1112:3. Verificato: `RP_lambda_0.075` e intermittente; e stabile a N=64,
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1117:### Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1118:Trovato: 1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate`, 9/9 letture grafiche.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1119:2. Verificato: `RP_lambda_0.100` e ponte parametrico, 6/9 letture; non entra nel boundary confermato.
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1123:Il boundary fisico esiste nel perimetro RP finito come una riga a due lettori: `lambda=0.060`. Il residuo graph-only non sopravvive. La pa
tools/data/preflight/manual_controlled_snapshot_20260516_0820_114372/agent_field_live.md:1225:  report_20260515_1933 (2 ghost): Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/preflight/preflight_20260514_1701.md:16:- L4 medium: Riformulare il prossimo claim come: zero-excess e' esatto per phi/silver nel perimetro testato; bronze e' quasi-stabile ma non hard. Isolare le 9 finestre bronze e dichiarare il boundary che le produce.
tools/data/preflight/safe_agent_field_B_20260515_1647.md:70:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/preflight/safe_agent_field_B_20260515_1647.md:84:Do not let has_SR decide the boundary alone.
tools/data/preflight/safe_agent_field_B_20260515_1647.md:131:Important: do not reopen the closed prime/mod6 branch as a candidate. The next supervised output, if any, must start from the closeouts.
tools/data/preflight/safe_agent_field_B_20260515_1647.md:161:`floor_constraint`, `residue_to_digest`, `counter_absorbed`, `null_result`, `vault`, `tool_candidate`, `bridge_candidate`, `candidate_edge`, `ghost_edge`, `blocked_direction`, `review_required`, `invalid_for_motion`.
tools/data/preflight/preflight_20260515_1734.md:13:- `tools/data/photonic_boundary_third_included_gate_20260515_1734.json` (experiment)
tools/data/preflight/supervised_one_shot_result_B_20260515_155338.md:74:qg_discrete_boundary_bridge_probe
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:235:- boundary operator;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:336:- unfolding;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:410:- boundary condition;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:425:- boundary swap;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_20260515_1624.md:992:### QxG — candidate_needs_contract
tools/exp_aubry_v2_generator_scaling_gate.py:3:V=2 generator scaling gate for the Aubry/Sturmian boundary.
tools/exp_aubry_v2_generator_scaling_gate.py:274:            "claim": "at V=2 the boundary is a generator property only if binary Sturmian, cosine, and null controls carry different participation scaling",
tools/exp_aubry_v2_generator_scaling_gate.py:278:            "non_possible": "claiming phi-specific boundary if the V=2 tau is shared by density shuffle or by non-phi Sturmian controls",
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:236:- boundary operator;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:337:- unfolding;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:354:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:411:- boundary condition;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:426:- boundary swap;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:493:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:607:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:725:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:867:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:995:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_20260515_1608.md:997:### QxG — candidate_needs_contract
tools/data/preflight/agent_field_safe_mode_smoke_20260515_1535.md:70:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/preflight/agent_field_safe_mode_smoke_20260515_1535.md:84:Do not let has_SR decide the boundary alone.
tools/data/preflight/agent_field_safe_mode_smoke_20260515_1535.md:131:Important: do not reopen the closed prime/mod6 branch as a candidate. The next supervised output, if any, must start from the closeouts.
tools/data/preflight/agent_field_safe_mode_smoke_20260515_1535.md:161:`floor_constraint`, `residue_to_digest`, `counter_absorbed`, `null_result`, `vault`, `tool_candidate`, `bridge_candidate`, `candidate_edge`, `ghost_edge`, `blocked_direction`, `review_required`, `invalid_for_motion`.
tools/exp_vc_fit_ready_scale_table.py:81:    rows = build_table(data, "per_mode_best") + build_table(data, "accepted_candidates")
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:235:- boundary operator;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:336:- unfolding;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:410:- boundary condition;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:425:- boundary swap;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_backup_post_controlled_1623_20260515.md:992:### QxG — candidate_needs_contract
tools/lab_bias_corrector.py:182:    candidates: set[Path] = set()
tools/lab_bias_corrector.py:190:                    candidates.add(p.resolve())
tools/lab_bias_corrector.py:199:            candidates.add(p.resolve())
tools/lab_bias_corrector.py:204:        candidates.add(cimitero.resolve())
tools/lab_bias_corrector.py:206:    if not candidates:
tools/lab_bias_corrector.py:209:    per_file = max(1024, budget_bytes // max(1, len(candidates)))
tools/lab_bias_corrector.py:211:    for p in sorted(candidates):
tools/lab_bias_corrector.py:234:    candidate = fenced.group(1) if fenced else None
tools/lab_bias_corrector.py:235:    if not candidate:
tools/lab_bias_corrector.py:239:        candidate = raw[start:]
tools/lab_bias_corrector.py:241:        return json.loads(candidate)
tools/lab_bias_corrector.py:245:        for i, c in enumerate(candidate):
tools/lab_bias_corrector.py:252:                        return json.loads(candidate[: i + 1])
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:237:- boundary operator;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:338:- unfolding;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:355:- unfolding alternative;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:412:- boundary condition;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:427:- boundary swap;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:494:- boundary condition swap;
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:608:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:726:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:868:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:992:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_backup_pre_scientific_return_20260515_1706.md:994:### QxG — candidate_needs_contract
tools/exp_physical_sr_residue_bounce.py:7:  mathematical transducer: span-matched Poisson counter-boundary
tools/exp_physical_sr_residue_bounce.py:12:counter-boundary at a localized endpoint, while chaotic spectra keep SR active.
tools/exp_physical_sr_residue_bounce.py:338:            "blank": "No graph edge is integrated; no experimental spectra, GSE, Anderson 3D, many-body localization, unfolding-specific contract, or asymptotic claim is added.",
tools/exp_physical_sr_residue_bounce.py:354:        "graph_candidate_ref": "tools/data/graph_completion/graph_completion_20260514_1640.json",
tools/exp_physical_sr_residue_bounce.py:440:        "mathematical_transducer": "span-matched counter-boundary on canonical gap observables",
tools/exp_physical_sr_residue_bounce.py:441:        "physical_return_candidate": "1D Anderson tight-binding spectra across disorder/localization",
tools/exp_physical_sr_residue_bounce.py:447:            "Anderson_1D_W6": "finite-size disorder/localization boundary, not a universal transition",
tools/data/preflight/preflight_20260515_1745.md:13:- `tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json` (experiment)
tools/data/preflight/preflight_20260514_1330.md:13:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.json` (experiment)
tools/data/preflight/preflight_20260514_1330.md:14:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.json` (experiment)
tools/data/preflight/preflight_20260514_1330.md:15:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.json` (experiment)
tools/triggers/build_applications_index.py:8:  - tensions_proposed (refinement candidates)
tools/triggers/build_applications_index.py:20:  - card per applicazione candidate (manifest entry) — vista L3
tools/triggers/build_applications_index.py:176:    """Ritorna (applications_candidate, review_required, non_application).
tools/triggers/build_applications_index.py:181:    candidates = []
tools/triggers/build_applications_index.py:185:        return candidates, review, non_app
tools/triggers/build_applications_index.py:200:        for app in manifest.get("applications_candidate", []):
tools/triggers/build_applications_index.py:201:            candidates.append({
tools/triggers/build_applications_index.py:210:                "maturity": "transitional_candidate",
tools/triggers/build_applications_index.py:234:    return candidates, review, non_app
tools/triggers/build_applications_index.py:248:        if d.name in ("scoperte", "soluzioni", "_tensions_proposed", "_template", "_queue", "_aborted", "_pipeline_candidates"):
tools/triggers/build_applications_index.py:284:def derive_filters(candidates: list[dict]) -> dict:
tools/triggers/build_applications_index.py:286:    domains = sorted({c.get("lab_instance") for c in candidates if c.get("lab_instance")})
tools/triggers/build_applications_index.py:287:    types = sorted({c.get("type") for c in candidates if c.get("type")})
tools/triggers/build_applications_index.py:288:    verifier_forms = sorted({c.get("verifier_form") for c in candidates if c.get("verifier_form")})
tools/triggers/build_applications_index.py:289:    maturities = sorted({c.get("maturity") for c in candidates if c.get("maturity")})
tools/triggers/build_applications_index.py:310:    candidates, review, non_app = collect_soluzioni()
tools/triggers/build_applications_index.py:315:    print(f"  applications_candidate: {len(candidates)}")
tools/triggers/build_applications_index.py:344:            "n_applications_candidate": len(candidates),
tools/triggers/build_applications_index.py:355:            "applications_candidate_n": len(candidates),
tools/triggers/build_applications_index.py:364:        "filters": derive_filters(candidates),
tools/triggers/build_applications_index.py:366:        "applications_candidate": candidates,
tools/triggers/build_applications_index.py:371:        "boundary": [
tools/triggers/build_applications_index.py:373:            "Niente claim verified — tutti gli applications_candidate sono draft/transitional",
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:23:Per L2, non chiamare `sopravvive`, `residuo` o `strutturale` un lift piccolo senza count grezzi, denominatore, soglia preregistrata o p-value/permutation interval dichiarato. Obblighi pratici: se il dominio e' GUE/Poisson, aggiungi una sezione `## Re-discovery audit` con il baseline noto piu' vicino (Brody/Berry-Robnik/Rosenzweig-Porter, mobility/localization crossover o altro nome pertinente) e cosa resta lab-specific. Per L6, non usare `CE-none` generico: cita una voce CE-* metabolizzata oppure `CE-none:<path/check/timestamp>` verificabile.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:24:Se compare un residuo graph-only, separa nel report: `two_reader_boundary_confirmed`, `graph_only_residue`, `scope_change_declared`, `graph_baseline_audit`. Non sommare righe graph-only al boundary a due lettori. Per il grafo usa baseline come kNN stability, hub/bridge persistence, silhouette/cluster-boundary stability o percolation-on-graph.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:47:- report_20260515_1933: 2 ghost · Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:249:- boundary operator;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:350:- unfolding;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:367:- unfolding alternative;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:424:- boundary condition;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:439:- boundary swap;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:506:- boundary condition swap;
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:620:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:738:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:880:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:945:  - Rosenzweig-Porter Physical Bridge Audit → None/None (ρ=None)
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1010:Summary: candidate_count=1, ready_count=1, observable_contract=True, bicono_complete=True, fit_ready_contract=False.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1107:Trovato: 1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate` in tutte le taglie testate.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1108:2. Verificato: `RP_lambda_0.045` e intermittente; e stabile a N=96 e N=128, ma solo parameter-sensitive a N=64.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1109:3. Verificato: `RP_lambda_0.075` e intermittente; e stabile a N=64,
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1114:### Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1115:Trovato: 1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate`, 9/9 letture grafiche.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1116:2. Verificato: `RP_lambda_0.100` e ponte parametrico, 6/9 letture; non entra nel boundary confermato.
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1120:Il boundary fisico esiste nel perimetro RP finito come una riga a due lettori: `lambda=0.060`. Il residuo graph-only non sopravvive. La pa
tools/data/preflight/manual_controlled_snapshot_20260516_0720_66853/agent_field_live.md:1222:  report_20260515_1933 (2 ghost): Agent Report - Rosenzweig-Porter Physical Bridge Audit
tools/triggers/finding_promoter.py:72:- boundary_warning: {boundary_score}
tools/triggers/finding_promoter.py:291:        boundary_score=scores.get("boundary_warning", 0),
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:235:- boundary operator;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:336:- unfolding;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:410:- boundary condition;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:425:- boundary swap;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_backup_pre_selector_matrix_20260515_1659.md:992:### QxG — candidate_needs_contract
tools/triggers/finding_eligibility_gate.py:8:  - boundary_warning      → vincolo/confine senza claim quantitativo
tools/triggers/finding_eligibility_gate.py:67:    "boundary_warning": [
tools/triggers/finding_eligibility_gate.py:68:        ("boundary", 1),
tools/triggers/finding_eligibility_gate.py:147:    boundary_score = scores["boundary_warning"]
tools/triggers/finding_eligibility_gate.py:172:    elif boundary_score >= 3 and appl_score < 3:
tools/triggers/finding_eligibility_gate.py:173:        role = "boundary_warning"
tools/triggers/finding_eligibility_gate.py:175:        skip_reason = f"boundary/limit warning without quantitative claim (score={boundary_score})"
tools/triggers/finding_eligibility_gate.py:184:        skip_reason = f"misto: appl={appl_score}, lit={lit_score}, meth={meth_score}, neg={neg_score}, boundary={boundary_score}"
tools/triggers/finding_eligibility_gate.py:188:        skip_reason = f"insufficient signal: appl={appl_score}, lit={lit_score}, meth={meth_score}, neg={neg_score}, boundary={boundary_score}"
tools/triggers/finding_eligibility_gate.py:327:        "boundary": [
tools/triggers/blueprint_generator.py:7:Input: cycle_ts + candidate type (library/kernel/demo) di una soluzione
tools/triggers/blueprint_generator.py:55:def render_blueprint(manifest: dict, candidate: dict, source_meta: dict) -> str:
tools/triggers/blueprint_generator.py:56:    """Render markdown blueprint for a single candidate."""
tools/triggers/blueprint_generator.py:57:    name = candidate.get("name", "?")
tools/triggers/blueprint_generator.py:58:    type_ = candidate.get("type", "?")
tools/triggers/blueprint_generator.py:59:    finding_idx = candidate.get("discovery_finding_idx", "?")
tools/triggers/blueprint_generator.py:60:    finding_title = candidate.get("discovery_finding_title", "")
tools/triggers/blueprint_generator.py:61:    what = candidate.get("what_it_does", "")
tools/triggers/blueprint_generator.py:62:    spec = candidate.get("verification_spec", {}) or {}
tools/triggers/blueprint_generator.py:136:# tests/test_correctness.py — verifica candidate replica baseline su input set
tools/triggers/blueprint_generator.py:144:    candidate = run_candidate(inputs)
tools/triggers/blueprint_generator.py:145:    assert all(a == b for a, b in zip(baseline, candidate)), \\
tools/triggers/blueprint_generator.py:146:        "candidate output diverges from baseline"
tools/triggers/blueprint_generator.py:151:    times_c = [time_candidate(inputs) for _ in range(30)]
tools/triggers/blueprint_generator.py:198:    candidates = manifest.get("applications_candidate", [])
tools/triggers/blueprint_generator.py:199:    target = next((c for c in candidates if c.get("type") == args.type), None)
tools/triggers/blueprint_generator.py:201:        print(f"ERROR: nessun candidate type={args.type} in manifest", file=sys.stderr)
tools/data/evolution/evolution_20260515_1647.md:3:Il report osserva il passo come transizione da clean-field a source-selection esplicita, individua l’attrito nei selector legacy (`mtime`, `--best`) e colloca la riparazione regressiva nel contratto d’ingresso: distinguere `candidate`, `context`, `blocked`, `authority` prima del produttore.
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:235:- boundary operator;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:336:- unfolding;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:353:- unfolding alternative;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:410:- boundary condition;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:425:- boundary swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:492:- boundary condition swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/manual_controlled_snapshot_20260515_1647_3597707/agent_field_live.md:992:### QxG — candidate_needs_contract
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:235:- boundary operator;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:336:- unfolding;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:410:- boundary condition;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:425:- boundary swap;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_20260515_1620.md:992:### QxG — candidate_needs_contract
tools/data/preflight/safe_agent_field_B_20260515_152853.md:70:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/preflight/safe_agent_field_B_20260515_152853.md:84:Do not let has_SR decide the boundary alone.
tools/data/preflight/safe_agent_field_B_20260515_152853.md:131:Important: do not reopen the closed prime/mod6 branch as a candidate. The next supervised output, if any, must start from the closeouts.
tools/data/preflight/safe_agent_field_B_20260515_152853.md:161:`floor_constraint`, `residue_to_digest`, `counter_absorbed`, `null_result`, `vault`, `tool_candidate`, `bridge_candidate`, `candidate_edge`, `ghost_edge`, `blocked_direction`, `review_required`, `invalid_for_motion`.
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:236:- boundary operator;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:337:- unfolding;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:354:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:411:- boundary condition;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:426:- boundary swap;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:493:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:607:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:725:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:867:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:995:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_20260515_1616.md:997:### QxG — candidate_needs_contract
tools/data/preflight/safe_agent_field_B_20260515_140349.md:40:bridge = `Physics A -> Mathematics -> Physics B` / `bridge_candidate` / `vault_only`
tools/data/preflight/safe_agent_field_B_20260515_140349.md:70:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/preflight/safe_agent_field_B_20260515_140349.md:84:Do not let has_SR decide the boundary alone.
tools/data/preflight/safe_agent_field_B_20260515_140349.md:98:6. Graph landing: vault node / ghost edge / candidate edge / none.
tools/data/preflight/safe_agent_field_B_20260515_140349.md:118:`floor_constraint`, `residue_to_digest`, `counter_absorbed`, `null_result`, `vault`, `tool_candidate`, `bridge_candidate`, `candidate_edge`, `ghost_edge`, `blocked_direction`, `review_required`, `invalid_for_motion`.
tools/data/preflight/filtered_field_preview_B_20260515_133909.md:85:Do not let has_SR decide the boundary alone.
tools/data/preflight/filtered_field_preview_B_20260515_133909.md:110:authority: `bridge_candidate / vault_only`
tools/data/preflight/filtered_field_preview_B_20260515_133909.md:129:Current boundary:
tools/data/preflight/filtered_field_preview_B_20260515_133909.md:171:   vault node / ghost edge / candidate edge / none.
tools/data/preflight/filtered_field_preview_B_20260515_133909.md:218:4. **Verificato**: il verdict nominale dello script oscilla con `window_gaps` (`not_decisive`, `preboundary`, `prime_specific`). Quell'oscillazione e' informazione sullo script: il verdict e' ancora centrato su commonality/binario, non sul vettore di intensita.
tools/data/evolution/evolution_20260515_1933.md:1:Ho scritto [evolution_report.md](/opt/MM_D-ND/tools/evolution_report.md) aggiornandolo sul run Rosenzweig-Porter appena concluso.
tools/triggers/application_designer.py:17:  Per ora = scaffold-generator. Per ogni key finding propone N candidate
tools/triggers/application_designer.py:83:def make_verification_spec(candidate_type: str) -> dict:
tools/triggers/application_designer.py:89:    if candidate_type == "library":
tools/triggers/application_designer.py:119:    if candidate_type == "kernel":
tools/triggers/application_designer.py:181:    Ogni candidate include verification_spec (Stage 3 SPEC ONLY, niente PASS).
tools/triggers/application_designer.py:229:    candidates = []
tools/triggers/application_designer.py:245:                candidates.extend(propose_canonical_applications(f, cycle_ts))
tools/triggers/application_designer.py:263:            candidates.extend(propose_canonical_applications(f, cycle_ts))
tools/triggers/application_designer.py:280:            "n_findings_eligible": len(candidates) // 3 if candidates else 0,
tools/triggers/application_designer.py:286:        "applications_candidate": candidates,
tools/triggers/application_designer.py:289:        "no_application_yet": len(candidates) == 0,
tools/triggers/application_designer.py:290:        "next_stage": "Stage 3 SPEC è già inline in ogni candidate.verification_spec (status SPEC_ONLY). Stage 4 = esecuzione manuale post-review.",
tools/triggers/application_designer.py:291:        "boundary": [
tools/triggers/application_designer.py:304:    apps = manifest["applications_candidate"]
tools/triggers/application_designer.py:335:## Applicazioni candidate proposte (canonical scaffold)
tools/triggers/application_designer.py:349:Ogni candidate include un `verification_spec` con:
tools/triggers/application_designer.py:453:        print(f"  WARN: nessun finding parsato — manifest avrà 0 candidate (output: no_application_yet)")
tools/triggers/application_designer.py:477:    print(f"  candidate apps: {len(manifest['applications_candidate'])}")
tools/triggers/on_crystallize.py:123:      'mature_eligible'        — 0 HIGH + valutatore CRYSTALLIZE high → app candidate generabili
tools/triggers/on_crystallize.py:144:                f"visible_risks dichiarati. NO applicazioni candidate."
tools/triggers/on_crystallize.py:169:                "cristallizzare. App candidate NON generabili finché consecutio chiusa."
tools/triggers/on_crystallize.py:194:    candidates = []
tools/triggers/on_crystallize.py:220:        candidates.append({
tools/triggers/on_crystallize.py:226:    if not candidates:
tools/triggers/on_crystallize.py:228:    candidates.sort(key=lambda x: x["cycle_ts"], reverse=True)
tools/triggers/on_crystallize.py:229:    return candidates[0]
tools/triggers/on_crystallize.py:394:            "c'è risultante valida e direzione consecutio. App candidate non "
tools/exp_boundary_bridge_stability_audit.py:17:from exp_boundary_graph_curvature_gate import (
tools/exp_boundary_bridge_stability_audit.py:103:                graph["summary"]["third_included_candidates"] = graph["geometry"]["third_included_candidates"]
tools/exp_boundary_bridge_stability_audit.py:105:                candidates = set(graph["summary"]["third_included_candidates"])
tools/exp_boundary_bridge_stability_audit.py:111:                        "third_included_candidates": sorted(candidates),
tools/exp_boundary_bridge_stability_audit.py:127:                    if row["boundary_state"] == "third_included_candidate":
tools/exp_boundary_bridge_stability_audit.py:129:                    if row["boundary_state"] == "cut_edge":
tools/exp_boundary_bridge_stability_audit.py:182:        "experiment": "boundary_bridge_stability_audit",
tools/exp_boundary_bridge_stability_audit.py:184:        "observables_registry": "1.0.0-2026-05-06 via boundary_graph_curvature_gate; classical audit coordinates joined",
tools/exp_boundary_bridge_stability_audit.py:205:            "claim": "a two-reader boundary row is operational only if graph bridge status is stable enough to survive reader perturbation and remains classically audited",
tools/exp_boundary_bridge_stability_audit.py:208:            "generator": "boundary_graph_curvature_gate over the 13-row BOUNDARY denominator",
tools/exp_boundary_bridge_stability_audit.py:211:            "not_tested": "new physical Hamiltonian flow, alternative unfolding, asymptotic scaling beyond this finite denominator",
tools/exp_boundary_bridge_stability_audit.py:235:    parser.add_argument("--scope", default="tools/data/boundary_denominator_prescan_full_20260509_1500.json")
tools/exp_boundary_bridge_stability_audit.py:236:    parser.add_argument("--classical-audit", default="tools/data/boundary_classical_crossover_audit_20260515_1904.json")
tools/exp_boundary_bridge_stability_audit.py:242:    parser.add_argument("--out", default="tools/data/boundary_bridge_stability_audit_20260515_1915.json")
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:237:- boundary operator;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:338:- unfolding;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:355:- unfolding alternative;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:412:- boundary condition;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:427:- boundary swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:494:- boundary condition swap;
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:608:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:726:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:868:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:992:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/manual_controlled_snapshot_20260515_1659_3609780/agent_field_live.md:994:### QxG — candidate_needs_contract
tools/data/preflight/supervised_entry_preview_B_20260515_132103.md:31:physics_bridge = bridge_candidate / vault_only
tools/data/preflight/preflight_20260515_1904.md:13:- `tools/data/boundary_classical_crossover_audit_20260515_1904.json` (experiment)
tools/data/preflight/preflight_20260515_1904.md:14:- `tools/data/boundary_graph_curvature_gate_20260515_1855.json` (experiment)
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:237:- boundary operator;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:338:- unfolding;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:355:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:412:- boundary condition;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:427:- boundary swap;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:494:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:608:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:726:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:868:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:992:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_selector_matrix_20260515_1659.md:994:### QxG — candidate_needs_contract
tools/data/operator_directives_consumed/operator_directive_20260514_1850.md:68:- `candidate`: possibile linea futura, non contratto;
tools/data/preflight/preflight_20260514_1605.md:13:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.json` (experiment)
tools/data/preflight/preflight_20260514_1605.md:14:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.json` (experiment)
tools/data/preflight/preflight_20260514_1605.md:15:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.json` (experiment)
tools/data/preflight/preflight_20260514_1458.md:13:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.json` (experiment)
tools/data/preflight/preflight_20260514_1458.md:14:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.json` (experiment)
tools/data/preflight/preflight_20260514_1458.md:15:- `tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.json` (experiment)
tools/data/preflight/preflight_20260516_0330.md:13:- `tools/data/boundary_bridge_stability_audit_20260515_1915.json` (experiment)
tools/data/preflight/preflight_20260516_0330.md:14:- `tools/data/boundary_denominator_prescan_full_20260509_1500.json` (experiment)
tools/data/preflight/preflight_20260516_0330.md:15:- `tools/data/boundary_graph_null_audit_20260516_0330.json` (experiment)
tools/data/operator_directives_consumed/operator_directive_20260508_1915.md:12:- falsifier_summary: Il report e' coerente nel falsificare il boundary esatto, ma L1/L4 si rompono dove "nullo/cade" viene usato per il core alto intero mentre i dati mostrano sopravvivenza parziale per-label.
tools/data/operator_directives_consumed/operator_directive_20260508_1915.md:16:- reasoning: Il ciclo ha falsificato il claim operativo: il confine reale del supertile non batte il taglio contiguo a stessa multiset, mentre lo shuffle interno distrugge il core. L'evidenza sposta il nodo regressivo dal boundary geometrico al contratto osservabile: il portatore e' ordine interno piu' scala lunga, non il taglio esatto del supertile.
tools/data/operator_directives_consumed/operator_directive_20260514_1649.md:49:- `graph_candidate_ref`
tools/data/preflight/preflight_20260515_1758.md:13:- `tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json` (experiment)
tools/data/operator_directives_consumed/operator_directive_20260508_2019.md:16:- reasoning: Il ciclo ha chiuso anche il gate globale Ostrowski: high-core aligned non batte il misaligned su distanza boundary ne' su firma Zeckendorf, quindi il boundary esatto del supertile non e' portatore rilevato neppure al piano della numerazione globale. Dopo tre giri consecutivi sullo stesso frame con vincoli negativi coerenti, continuare sulla stessa TRASCENDENZA_LIMITE produce dettaglio locale e rischia accumulo anti-tautologico sterile; la traiettoria deve tornare al confine cross-dominio dichiarato nel seme.
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:20:residue_to_digest + tool_candidate
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:51:tag: `residue_to_digest`, `tool_candidate`
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:54:The stable candidate is the paired row-local delta-z vector:
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:87:candidate or audit contract.
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:91:tag: `bridge_candidate`, `vault`
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:131:non_possible = binary SR or script nominal verdict as boundary authority
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:152:The graph may later receive a candidate/vault object only after review of the
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:218:correct exp_prime_vs_mod6_sr_boundary.py verdict logic so the script reports
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:229:5. emit authority = constraint/tool_candidate, not discovery.
tools/data/preflight/supervised_one_shot_result_B_20260515_1407.md:239:tools/exp_prime_vs_mod6_sr_boundary.py
tools/data/operator_directives_consumed/operator_directive_20260509_1400.md:32:- `tools/exp_boundary_mixture_gate.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1400.md:33:- se serve: `tools/exp_boundary_gue_poisson.py`,
tools/data/operator_directives_consumed/operator_directive_20260509_1400.md:39:`tools/exp_boundary_denominator_prescan.py`.
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:236:- boundary operator;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:337:- unfolding;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:354:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:411:- boundary condition;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:426:- boundary swap;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:493:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:607:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:725:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:867:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:995:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_20260515_1612.md:997:### QxG — candidate_needs_contract
tools/data/operator_directives_consumed/operator_directive_20260509_0659.md:16:- reasoning: Il ciclo ha prodotto una falsificazione strutturale utile: il label-set preservato non basta a ricostruire il boundary `V_c` nel perimetro N=89. Non serve fermare l'operatore: la consecutio e' gia' indicata dal deposito, cioe' riparare il null al nodo generativo e distinguere phase-shuffle Sturmian da surrogate label-preserving prima di estendere a GUE/Poisson.
tools/data/operator_directives_consumed/operator_directive_20260509_0659.md:24:- L7 medium: Aggiungere un failure mode esplicito: "ordine generativo" significa stabilita' 12/12 internal_cross e 0 multi/floor su phase x threshold; singoli internal_cross non-Sturmian non contano come trasporto del boundary.
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:235:- boundary operator;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:336:- unfolding;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:410:- boundary condition;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:425:- boundary swap;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_backup_pre_no_blocked_ref_replace_20260515_1624.md:992:### QxG — candidate_needs_contract
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:235:- boundary operator;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:336:- unfolding;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:353:- unfolding alternative;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:410:- boundary condition;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:425:- boundary swap;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:492:- boundary condition swap;
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:606:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:724:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:866:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:990:Summary: candidate_count=1, ready_count=0, observable_contract=True, bicono_complete=False, fit_ready_contract=False.
tools/data/preflight/agent_field_live_candidate_post_controlled_20260515_1631.md:992:### QxG — candidate_needs_contract
tools/data/operator_directives_consumed/operator_directive_20260509_0837.md:4:candidate gate ed event audit con denominatori diversi.
tools/data/operator_directives_consumed/operator_directive_20260509_0837.md:13:- se candidate gate ed event audit divergono per aggregazione, dichiaralo come
tools/data/operator_directives_consumed/operator_directive_20260509_0837.md:16:Intento: tipizzare le classi di generatore del boundary (memoria d'ordine,
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:12:- 13 righe boundary;
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:25:- `tools/exp_boundary_blank_null_audit.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:26:- `tools/exp_boundary_denominator_prescan.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:27:- `tools/data/boundary_blank_null_audit_20260509_1430.json`
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:28:- `tools/data/boundary_denominator_prescan_20260509_1430.json`
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:32:`boundary_blank_null_audit_20260509_1430.json`:
tools/data/operator_directives_consumed/operator_directive_20260509_1427.md:40:`boundary_denominator_prescan_20260509_1430.json`:
tools/data/operator_directives_consumed/operator_directive_20260514_1612.md:15:   (`prime-minus-mod6`, GUE/Poisson, boundary, spettro, gap, vettore o null)
tools/data/operator_directives_consumed/operator_directive_20260508_2108.md:19:- Focus: Ripetere il gate aligned/misaligned/zero su low-low, high-high e SR con null di permutazione che preservi frequenza degli zeri; verificare se lo zero e' rumore, boundary o mediatore del segnale.
tools/data/agent_field_entry_supervised.md:50:Do not let has_SR decide the boundary alone.
tools/data/agent_field_entry_supervised.md:75:authority: `bridge_candidate / vault_only`
tools/data/agent_field_entry_supervised.md:94:Current boundary:
tools/data/agent_field_entry_supervised.md:136:   vault node / ghost edge / candidate edge / none.
tools/data/operator_directives_consumed/operator_directive_20260509_1409.md:41:- `tools/exp_boundary_mixture_gate.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1409.md:43:- `tools/exp_boundary_gue_poisson.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1409.md:47:Crea o usa uno strumento boundary-oriented, ad esempio
tools/data/operator_directives_consumed/operator_directive_20260509_1409.md:48:`tools/exp_boundary_denominator_prescan.py`, che produca una tabella:
tools/data/evolution/evolution_20260512_0330.md:3:Ho tenuto il report breve e centrato sul passo: attrito principale nel denominatore troppo largo, nodo regressivo nel disegno dei controlli, consecutio verso `prime_vs_mod6_SR_boundary`.
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:1:# DIRETTIVA OPERATORE - one-shot residual boundary closure
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:24:- `tools/exp_boundary_blank_null_audit.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:25:- `tools/exp_boundary_denominator_prescan.py`
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:26:- `tools/data/boundary_blank_null_audit_20260509_1430.json`
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:27:- `tools/data/boundary_blank_null_audit_residual_20260509_1500.json`
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:28:- `tools/data/boundary_denominator_prescan_full_20260509_1500.json`
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:32:`boundary_blank_null_audit_residual_20260509_1500.json`:
tools/data/operator_directives_consumed/operator_directive_20260509_1437.md:44:`boundary_denominator_prescan_full_20260509_1500.json`:
tools/data/evolution/evolution_20260509_0330.md:3:Ho mantenuto il focus sul passo: inversione da crossing discreto a curva, attrito nella traccia provider senza jsonl, nodo regressivo nel null non ancora omogeneo al boundary operator, consecutio verso phase-shuffle, surrogate label-preserving e separazione `floor_hit` / crossing interno.
tools/data/repairs/repair_20260508_2102.md:19:- Focus: Ripetere il gate aligned/misaligned/zero su low-low, high-high e SR con null di permutazione che preservi frequenza degli zeri; verificare se lo zero e' rumore, boundary o mediatore del segnale.
tools/data/evolution/evolution_20260516_0720.md:3:Ho aggiornato il report di affinamento sul passo appena concluso: focus sulla soglia graph-only, attrito regressivo nel contratto iniziale del residuo, `completed_no_jsonl` come latenza osservativa, e consecutio verso test fisici controllati senza fondere grafo e boundary a due lettori.
tools/data/agent_field_live.md:25:Per L2, non chiamare `sopravvive`, `residuo` o `strutturale` un lift piccolo senza count grezzi, denominatore, soglia preregistrata o p-value/permutation interval dichiarato. Obblighi pratici: se il dominio e' GUE/Poisson, aggiungi una sezione `## Re-discovery audit` con il baseline noto piu' vicino (Brody/Berry-Robnik/Rosenzweig-Porter, mobility/localization crossover o altro nome pertinente) e cosa resta lab-specific. Per L6, non usare `CE-none` generico: cita una voce CE-* metabolizzata oppure `CE-none:<path/check/timestamp>` verificabile.
tools/data/agent_field_live.md:26:Se compare un residuo graph-only, separa nel report: `two_reader_boundary_confirmed`, `graph_only_residue`, `scope_change_declared`, `graph_baseline_audit`. Non sommare righe graph-only al boundary a due lettori. Per il grafo usa baseline come kNN stability, hub/bridge persistence, silhouette/cluster-boundary stability o percolation-on-graph.
tools/data/agent_field_live.md:57:- Direzione operativa valutatore: Continuare sul confine RP contratto: testare RP_lambda_0.045 come terzo incluso operativo con candidate_rows + sentinels, size maggiori e unfolding locali alternativi; trattare RP_lambda_0.060 come sentinella coordinata-sensibile.
tools/data/agent_field_live.md:58:- Perche': Il ciclo ha prodotto una contrazione strutturale utile, non un accumulo numerico locale: la finestra RP 0.045-0.060 si separa in una riga stabile e una coordinata-dipendente. La prossima mossa non dipende dall'operatore: va ripetuto il gate sul perimetro contratto, dichiarando pre-run candidate_rows + sentinels e verificando se RP_lambda_0.045 resta boundary sotto size maggiori o unfolding locali alternativi.
tools/data/agent_field_live.md:59:- Nota: Non cristallizzare ancora: il finding e' promettente ma resta condizionato a size maggiori e a unfolding locali diversi da window=7.
tools/data/agent_field_live.md:253:- boundary operator;
tools/data/agent_field_live.md:354:- unfolding;
tools/data/agent_field_live.md:371:- unfolding alternative;
tools/data/agent_field_live.md:428:- boundary condition;
tools/data/agent_field_live.md:443:- boundary swap;
tools/data/agent_field_live.md:510:- boundary condition swap;
tools/data/agent_field_live.md:624:  boundary, non solo quando cambia il label-set o la statistica locale.
tools/data/agent_field_live.md:742:  quando: "il ciclo lavora su boundary, GUE/Poisson o trasferibilita' phi"
tools/data/agent_field_live.md:884:  - "PROIETTA un osservabile che distingua geometria del boundary da baseline statistica."
tools/data/agent_field_live.md:947:- **Domanda aperta** (consecutio): Portare `RP_lambda_0.045` su un controllo piu duro: size maggiore oppure seconda finestra locale. Se regge, rimbalzo fisico B su Anderson 3D con gate raw-count; se cade, cristallizzare `finite_RP_lambda_0.045_boundary` come vincolo di perimetro.
tools/data/agent_field_live.md:963:Il report osserva il passo come contrazione della finestra RP, segnala l’attrito `completed_no_jsonl` e la latenza del perimetro troppo ampio, collocando la riparazione regressiva nel pre-run: `step_trace` provider-agnostica e perimetro `candidate_rows + sentinels` dichiarato prima dell’esecuzione.
tools/data/agent_field_live.md:1014:Summary: candidate_count=1, ready_count=1, observable_contract=True, bicono_complete=True, fit_ready_contract=False.
tools/data/agent_field_live.md:1019:Dipolo: boundary robusto; boundary coordinata-dipendente.
tools/data/agent_field_live.md:1020:Punto-zero: stessa riga lambda sotto cambio di unfolding.
tools/data/agent_field_live.md:1021:Invariante: `classical_intermediate + raw-count threshold + all-size + all-unfolding`.
tools/data/agent_field_live.md:1022:Possibile: possibile = usare `0.045` come nucleo RP per size/unfolding stress; non-possibile = promuovere `0.060` come stabile senza qualificare global_mean. | Non-possibile: 
tools/data/agent_field_live.md:1103:Trovato: 1. Verificato: `RP_lambda_0.045` passa in `global_mean` e `local_window` su tutte le size. Il punto debole e local-window N=128 con `9/12`, ma resta sopra soglia con max null p=`0.021029` e min lift=`0.332031`.
tools/data/agent_field_live.md:1104:2. Verificato: `RP_lambda_0.060` passa in global_mean su tutte le size, ma cade in local-
tools/data/agent_field_live.md:1107:Il finding 08:20 viene ristretto al nodo regressivo giusto: non "finestra RP `0.045-0.060` stabile", ma "`RP_lambda_0.045` e terzo
tools/data/agent_field_live.md:1118:Trovato: 1. Verificato: `RP_lambda_0.060` e l'unica riga `stable_graph_bridge+classical_intermediate` in tutte le taglie testate.
tools/data/agent_field_live.md:1119:2. Verificato: `RP_lambda_0.045` e intermittente; e stabile a N=96 e N=128, ma solo parameter-sensitive a N=64.
tools/data/agent_field_live.md:1120:3. Verificato: `RP_lambda_0.075` e intermittente; e stabile a N=64,
tools/data/repairs/repair_20260508_1909.md:12:- falsifier_summary: Il report e' coerente nel falsificare il boundary esatto, ma L1/L4 si rompono dove "nullo/cade" viene usato per il core alto intero mentre i dati mostrano sopravvivenza parziale per-label.
tools/data/repairs/repair_20260508_1909.md:16:- reasoning: Il ciclo ha falsificato il claim operativo: il confine reale del supertile non batte il taglio contiguo a stessa multiset, mentre lo shuffle interno distrugge il core. L'evidenza sposta il nodo regressivo dal boundary geometrico al contratto osservabile: il portatore e' ordine interno piu' scala lunga, non il taglio esatto del supertile.
tools/data/repairs/repair_20260509_0652.md:16:- reasoning: Il ciclo ha prodotto una falsificazione strutturale utile: il label-set preservato non basta a ricostruire il boundary `V_c` nel perimetro N=89. Non serve fermare l'operatore: la consecutio e' gia' indicata dal deposito, cioe' riparare il null al nodo generativo e distinguere phase-shuffle Sturmian da surrogate label-preserving prima di estendere a GUE/Poisson.
tools/data/repairs/repair_20260509_0652.md:24:- L7 medium: Aggiungere un failure mode esplicito: "ordine generativo" significa stabilita' 12/12 internal_cross e 0 multi/floor su phase x threshold; singoli internal_cross non-Sturmian non contano come trasporto del boundary.
tools/data/repairs/repair_20260508_2013.md:16:- reasoning: Il ciclo ha chiuso anche il gate globale Ostrowski: high-core aligned non batte il misaligned su distanza boundary ne' su firma Zeckendorf, quindi il boundary esatto del supertile non e' portatore rilevato neppure al piano della numerazione globale. Dopo tre giri consecutivi sullo stesso frame con vincoli negativi coerenti, continuare sulla stessa TRASCENDENZA_LIMITE produce dettaglio locale e rischia accumulo anti-tautologico sterile; la traiettoria deve tornare al confine cross-dominio dichiarato nel seme.
tools/data/evolution/evolution_20260430_1905.md:3:**Sintesi dell'osservazione:** run pulito (331s, 0 errori) ma con scope doppio che ha prodotto due troncamenti — il report scientifico e il testo finale si interrompono entrambi a meta'. Il nodo regressivo non e' il buffer ma la scelta di due esperimenti in un budget da uno. Il campo vivo dice gia' "UNA tensione" — il vincolo va reso esplicito anche sullo scope di output. Due possibilita' concrete emergono: il dipolo ordering (spacing_ratio vs lag1_acf come terzo incluso al boundary) e i tre regimi mod-q (finding troncato, recuperabile).
tools/data/evolution/evolution_20260501_0931.md:1:Evolution report scritto. Due nodi regressivi identificati: dataset ricostruito da zero ogni notte (fix: cache stabile) e consecutio stale che ha consumato budget di orientamento (fix: stato di risoluzione nel seme). La possibilità più concreta per il prossimo ciclo: confrontare lo zero-crossing dipolare con i punti critici Brody/Rosenzweig-Porter.

exec
/bin/bash -lc "sed -n '1,260p' tools/exp_rp_unfolding_sensitivity_audit.py" in /opt/MM_D-ND
 succeeded in 0ms:
#!/usr/bin/env python3
"""
Unfolding-sensitivity audit for the finite Rosenzweig-Porter BOUNDARY window.

The previous raw-count audit promoted RP lambda 0.045 and 0.060 under a global
mean spacing normalization.  This script asks whether the same row-aligned
two-reader boundary survives when the spacing normalization is changed to a
local-window unfolding.
"""

from __future__ import annotations

import argparse
import json
from pathlib import Path
from types import SimpleNamespace
from typing import Any

import numpy as np

from exp_rosenzweig_porter_bridge_physical_audit import (
    FEATURE_NAMES,
    OBSERVABLES_CANONICAL,
    OBSERVABLES_REGISTRY_VERSION,
    SR_local_rigidity,
    central_slice,
    fit_brody_q,
    fit_mixture_weight,
    rp_hamiltonian,
    source_type,
)
from exp_rp_boundary_raw_count_null_audit import (
    binomial_tail_at_least,
    classify_with_labels,
    parse_floats,
    parse_ints,
    rotate_labels,
    shuffled_labels,
    wilson_interval,
)


def local_unfold_gaps(gaps: np.ndarray, window: int) -> np.ndarray:
    gaps = np.asarray(gaps, dtype=float)
    gaps = gaps[np.isfinite(gaps) & (gaps > 1e-12)]
    if len(gaps) == 0:
        return gaps
    width = max(3, min(int(window), len(gaps)))
    if width % 2 == 0:
        width -= 1
    if width < 3:
        return gaps / float(np.mean(gaps))
    pad = width // 2
    padded = np.pad(gaps, (pad, pad), mode="edge")
    kernel = np.ones(width, dtype=float) / float(width)
    local_mean = np.convolve(padded, kernel, mode="valid")
    local_mean[local_mean <= 1e-12] = float(np.mean(gaps))
    return gaps / local_mean


def row_spacings_and_ipr(
    lam: float,
    n: int,
    reps: int,
    central_fraction: float,
    seed: int,
    unfolding_mode: str,
    local_window: int,
) -> tuple[np.ndarray, float]:
    rng = np.random.default_rng(seed)
    spacings = []
    iprs = []
    for _ in range(reps):
        h = rp_hamiltonian(rng, n, lam)
        levels, vectors = np.linalg.eigh(h)
        central = levels[central_slice(len(levels), central_fraction)]
        gaps = np.diff(np.sort(central))
        gaps = gaps[np.isfinite(gaps) & (gaps > 1e-12)]
        if len(gaps):
            if unfolding_mode == "local_window":
                gaps = local_unfold_gaps(gaps, local_window)
            spacings.extend(gaps.tolist())
        probs = np.square(np.abs(vectors[:, central_slice(vectors.shape[1], central_fraction)]))
        ipr = np.sum(probs * probs, axis=0)
        if len(ipr):
            iprs.extend(ipr.tolist())
    if not spacings:
        raise ValueError(f"lambda {lam} produced no spacings")
    s = np.asarray(spacings, dtype=float)
    if unfolding_mode == "global_mean":
        s = s / float(np.mean(s))
    elif unfolding_mode == "local_window":
        s = s / float(np.mean(s))
    else:
        raise ValueError(f"unknown unfolding mode: {unfolding_mode}")
    s = s[np.isfinite(s) & (s > 1e-12)]
    return s, float(np.mean(iprs)) if iprs else 0.0


def median(values: list[float]) -> float:
    return float(np.median(np.asarray(values, dtype=float)))


def classical_state(row: dict[str, Any]) -> str:
    q = float(row["brody_q"])
    w = float(row["berry_robnick_like_gue_weight"])
    if q <= 0.25 and w <= 0.25:
        return "classical_poisson_endpoint"
    if q >= 0.75 and w >= 0.75:
        return "classical_gue_endpoint"
    return "classical_intermediate"


def stability_state(freq: float) -> str:
    if freq >= 0.75:
        return "stable_graph_bridge"
    if freq >= 0.25:
        return "parameter_sensitive_bridge"
    return "unstable_non_bridge"


def compute_row(lam: float, args: argparse.Namespace, n: int, seed: int, unfolding_mode: str) -> dict[str, Any]:
    s, mean_ipr = row_spacings_and_ipr(
        lam,
        n,
        args.reps,
        args.central_fraction,
        seed,
        unfolding_mode,
        args.local_window,
    )
    obs = {name: float(fn(s)) for name, fn in OBSERVABLES_CANONICAL.items()}
    obs["SR_local_rigidity"] = float(SR_local_rigidity(s))
    brody_q, brody_nll = fit_brody_q(s, args.grid_size)
    mixture_w, mixture_ks = fit_mixture_weight(s, args.grid_size)
    return {
        "domain_window": f"RP_lambda_{lam:.3f}",
        "lambda": round(lam, 6),
        "source_domain_type": source_type(lam, args.poisson_pole_max, args.gue_pole_min),
        "n_spacings": int(len(s)),
        "mean_ipr": round(mean_ipr, 9),
        "observables": {key: round(value, 9) for key, value in obs.items()},
        "brody_q": round(brody_q, 6),
        "brody_nll": round(brody_nll, 6),
        "berry_robnick_like_gue_weight": round(mixture_w, 6),
        "mixture_ks": round(mixture_ks, 6),
    }


def empty_hits(lambdas: list[float]) -> dict[str, dict[str, Any]]:
    return {
        f"RP_lambda_{lam:.3f}": {
            "lambda": round(float(lam), 6),
            "observed_hits": 0,
            "label_shuffle_hits": 0,
            "position_shift_hits": 0,
            "brody_q": [],
            "mixture_w": [],
            "mean_ipr": [],
            "sr": [],
            "margins": [],
            "cross_fractions": [],
        }
        for lam in lambdas
    }


def audit_size_mode(args: argparse.Namespace, n: int, unfolding_mode: str) -> dict[str, Any]:
    lambdas = parse_floats(args.lambdas)
    seeds = parse_ints(args.seeds)
    ks = parse_ints(args.k_values)
    label_null_trials = int(args.label_null_trials)
    position_offsets = parse_ints(args.position_offsets)
    row_hits = empty_hits(lambdas)
    observed_total = len(seeds) * len(ks)
    label_null_total = observed_total * label_null_trials
    position_null_total = observed_total * len(position_offsets)
    reader_runs = []

    for seed in seeds:
        rows = [
            compute_row(lam, args, n, seed + (n * 10000) + int(round(lam * 1000)), unfolding_mode)
            for lam in lambdas
        ]
        labels = [row["source_domain_type"] for row in rows]
        rng = np.random.default_rng(seed + n + (0 if unfolding_mode == "global_mean" else 1000003))
        for k in ks:
            observed = classify_with_labels(rows, k, labels)
            observed_by_name = {row["domain_window"]: row for row in observed}
            observed_candidates = [
                row["domain_window"] for row in observed if row["boundary_state"] == "third_included_candidate"
            ]
            reader_runs.append(
                {"n": n, "seed": seed, "k": k, "unfolding_mode": unfolding_mode, "observed_candidates": observed_candidates}
            )
            for row in rows:
                name = row["domain_window"]
                graph_row = observed_by_name[name]
                item = row_hits[name]
                if graph_row["boundary_state"] == "third_included_candidate":
                    item["observed_hits"] += 1
                item["margins"].append(float(graph_row["centroid_margin"]))
                item["cross_fractions"].append(float(graph_row["cross_neighbor_fraction"]))
                item["brody_q"].append(float(row["brody_q"]))
                item["mixture_w"].append(float(row["berry_robnick_like_gue_weight"]))
                item["mean_ipr"].append(float(row["mean_ipr"]))
                item["sr"].append(float(row["observables"]["SR"]))

            for _ in range(label_null_trials):
                null_rows = classify_with_labels(rows, k, shuffled_labels(labels, rng))
                for null_row in null_rows:
                    if null_row["boundary_state"] == "third_included_candidate":
                        row_hits[null_row["domain_window"]]["label_shuffle_hits"] += 1

            for offset in position_offsets:
                null_rows = classify_with_labels(rows, k, rotate_labels(labels, offset))
                for null_row in null_rows:
                    if null_row["boundary_state"] == "third_included_candidate":
                        row_hits[null_row["domain_window"]]["position_shift_hits"] += 1

    rows_out = []
    thresholded = []
    graph_only = []
    for name in sorted(row_hits, key=lambda key: row_hits[key]["lambda"]):
        item = row_hits[name]
        class_row = {
            "brody_q": median(item["brody_q"]),
            "berry_robnick_like_gue_weight": median(item["mixture_w"]),
        }
        c_state = classical_state(class_row)
        observed_rate = item["observed_hits"] / observed_total
        label_rate = item["label_shuffle_hits"] / label_null_total
        position_rate = item["position_shift_hits"] / position_null_total
        min_lift = min(observed_rate - label_rate, observed_rate - position_rate)
        label_p = binomial_tail_at_least(item["observed_hits"], observed_total, label_rate)
        position_p = binomial_tail_at_least(item["observed_hits"], observed_total, position_rate)
        threshold_pass = (
            c_state == "classical_intermediate"
            and observed_rate >= args.min_observed_rate
            and min_lift >= args.min_lift
            and label_p <= args.alpha
            and position_p <= args.alpha
        )
        graph_stability = stability_state(observed_rate)
        if threshold_pass:
            thresholded.append(name)
        if graph_stability == "stable_graph_bridge" and c_state != "classical_intermediate":
            graph_only.append(name)
        rows_out.append(
            {
                "domain_window": name,
                "lambda": item["lambda"],
                "classical_audit_state": c_state,
                "graph_stability_state": graph_stability,
                "observed_successes": item["observed_hits"],
                "observed_total": observed_total,
                "observed_rate": round(observed_rate, 6),
                "observed_wilson_95": wilson_interval(item["observed_hits"], observed_total),
                "label_shuffle_successes": item["label_shuffle_hits"],
                "label_shuffle_total": label_null_total,

exec
/bin/bash -lc "sed -n '260,620p' tools/exp_rp_unfolding_sensitivity_audit.py" in /opt/MM_D-ND
 succeeded in 0ms:
                "label_shuffle_total": label_null_total,
                "label_shuffle_rate": round(label_rate, 6),
                "label_shuffle_wilson_95": wilson_interval(item["label_shuffle_hits"], label_null_total),
                "label_shuffle_lift": round(observed_rate - label_rate, 6),
                "label_shuffle_binomial_tail_p": round(label_p, 6),
                "position_shift_successes": item["position_shift_hits"],
                "position_shift_total": position_null_total,
                "position_shift_rate": round(position_rate, 6),
                "position_shift_wilson_95": wilson_interval(item["position_shift_hits"], position_null_total),
                "position_shift_lift": round(observed_rate - position_rate, 6),
                "position_shift_binomial_tail_p": round(position_p, 6),
                "min_lift_against_nulls": round(min_lift, 6),
                "threshold_pass": threshold_pass,
                "median_brody_q": round(class_row["brody_q"], 6),
                "median_berry_robnick_like_gue_weight": round(class_row["berry_robnick_like_gue_weight"], 6),
                "median_SR": round(median(item["sr"]), 6),
                "median_mean_ipr": round(median(item["mean_ipr"]), 9),
                "mean_centroid_margin": round(float(np.mean(item["margins"])), 6),
                "mean_cross_neighbor_fraction": round(float(np.mean(item["cross_fractions"])), 6),
            }
        )

    return {
        "n": n,
        "unfolding_mode": unfolding_mode,
        "observed_total": observed_total,
        "label_shuffle_total": label_null_total,
        "position_shift_total": position_null_total,
        "summary": {
            "thresholded_two_reader_rows": thresholded,
            "thresholded_two_reader_count": len(thresholded),
            "graph_only_stable_rows": graph_only,
            "graph_only_stable_count": len(graph_only),
        },
        "rows": rows_out,
        "reader_runs": reader_runs,
    }


def run(args: argparse.Namespace) -> dict[str, Any]:
    sizes = parse_ints(args.sizes)
    modes = [part.strip() for part in args.unfolding_modes.split(",") if part.strip()]
    by_size_mode = [audit_size_mode(args, n, mode) for mode in modes for n in sizes]

    per_mode: dict[str, Any] = {}
    for mode in modes:
        entries = [entry for entry in by_size_mode if entry["unfolding_mode"] == mode]
        size_sets = {entry["n"]: set(entry["summary"]["thresholded_two_reader_rows"]) for entry in entries}
        all_size_rows = sorted(set.intersection(*size_sets.values())) if size_sets else []
        any_size_rows = sorted(set.union(*size_sets.values())) if size_sets else []
        per_mode[mode] = {
            "thresholded_two_reader_all_sizes": len(all_size_rows),
            "thresholded_two_reader_all_size_rows": all_size_rows,
            "thresholded_two_reader_any_size": len(any_size_rows),
            "thresholded_two_reader_any_size_rows": any_size_rows,
        }

    mode_sets = {mode: set(item["thresholded_two_reader_all_size_rows"]) for mode, item in per_mode.items()}
    all_mode_stable = sorted(set.intersection(*mode_sets.values())) if mode_sets else []
    mode_sensitive = sorted(set.union(*mode_sets.values()) - set(all_mode_stable)) if mode_sets else []

    comparison_rows = []
    for lam in parse_floats(args.lambdas):
        name = f"RP_lambda_{lam:.3f}"
        row = {"domain_window": name, "lambda": round(float(lam), 6)}
        for mode in modes:
            entries = [entry for entry in by_size_mode if entry["unfolding_mode"] == mode]
            rows_for_lambda = [
                next(item for item in entry["rows"] if item["domain_window"] == name)
                for entry in entries
            ]
            row[f"{mode}_pass_sizes"] = [
                entry["n"]
                for entry in entries
                if next(item for item in entry["rows"] if item["domain_window"] == name)["threshold_pass"]
            ]
            row[f"{mode}_min_observed_rate"] = round(float(min(item["observed_rate"] for item in rows_for_lambda)), 6)
            row[f"{mode}_min_lift"] = round(float(min(item["min_lift_against_nulls"] for item in rows_for_lambda)), 6)
            row[f"{mode}_max_null_p"] = round(
                float(
                    max(
                        max(item["label_shuffle_binomial_tail_p"], item["position_shift_binomial_tail_p"])
                        for item in rows_for_lambda
                    )
                ),
                6,
            )
        comparison_rows.append(row)

    output = {
        "experiment": "rp_unfolding_sensitivity_audit",
        "question": "Do the RP boundary rows 0.045/0.060 remain thresholded under an alternate local-window unfolding?",
        "observables_registry": OBSERVABLES_REGISTRY_VERSION,
        "observables_used": FEATURE_NAMES
        + [
            "observed_successes",
            "label_shuffle_successes",
            "position_shift_successes",
            "Wilson intervals",
            "binomial-tail p-values",
            "min_lift_against_nulls",
            "threshold_pass",
            "unfolding_mode",
        ],
        "parameters": {
            "sizes": sizes,
            "reps": args.reps,
            "lambdas": parse_floats(args.lambdas),
            "seeds": parse_ints(args.seeds),
            "k_values": parse_ints(args.k_values),
            "label_null_trials": args.label_null_trials,
            "position_offsets": parse_ints(args.position_offsets),
            "central_fraction": args.central_fraction,
            "grid_size": args.grid_size,
            "poisson_pole_max": args.poisson_pole_max,
            "gue_pole_min": args.gue_pole_min,
            "unfolding_modes": modes,
            "local_window": args.local_window,
        },
        "threshold_preregistered": {
            "min_observed_rate": args.min_observed_rate,
            "min_lift_against_each_null": args.min_lift,
            "alpha_each_null": args.alpha,
            "classical_clause": "classical_intermediate required for two-reader threshold pass",
            "unfolding_stability_clause": "boundary-stable only if row passes all sizes in every unfolding mode",
        },
        "observable_contract": {
            "claim": "the finite RP boundary window is unfolding-stable only if the same lambda rows beat label-shuffle and position-shift nulls under global and local spacing normalization",
            "observable": "thresholded two-reader raw-count pass by lambda, size and unfolding mode",
            "operator": "repeat the RP raw-count gate with global mean and local-window unfolded spacings",
            "generator": "H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE across size, seed, k and unfolding mode",
            "denominator": "same lambda grid per size and unfolding; observed denominator seeds*k, null denominators observed*null_trials",
            "non_possible": "unfolding-stable boundary if any promoted lambda fails all-size pass under local-window unfolding",
            "not_tested": "larger N, different local windows beyond the preregistered one, experimental spectra, Anderson 3D, many-body RP",
        },
        "summary": {
            "per_mode": per_mode,
            "thresholded_two_reader_all_modes": len(all_mode_stable),
            "thresholded_two_reader_all_mode_rows": all_mode_stable,
            "unfolding_sensitive_rows": mode_sensitive,
        },
        "comparison_rows": comparison_rows,
        "by_size_mode": by_size_mode,
    }
    out = Path(args.out)
    out.parent.mkdir(parents=True, exist_ok=True)
    out.write_text(json.dumps(output, indent=2, sort_keys=True) + "\n", encoding="utf-8")
    print(json.dumps(output["summary"], indent=2, sort_keys=True))
    return output


def main() -> None:
    parser = argparse.ArgumentParser()
    parser.add_argument("--out", default="tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json")
    parser.add_argument("--sizes", default="64,96,128")
    parser.add_argument("--reps", type=int, default=10)
    parser.add_argument("--lambdas", default="0,0.03,0.045,0.06,0.075,0.10,0.18,0.32,0.68,0.82,1.0")
    parser.add_argument("--seeds", default="202605160820,202605160821,202605160822,202605160823")
    parser.add_argument("--k-values", default="2,3,4")
    parser.add_argument("--label-null-trials", type=int, default=64)
    parser.add_argument("--position-offsets", default="1,2,3,4,5,6,7,8,9,10")
    parser.add_argument("--central-fraction", type=float, default=0.6)
    parser.add_argument("--grid-size", type=int, default=151)
    parser.add_argument("--poisson-pole-max", type=float, default=0.03)
    parser.add_argument("--gue-pole-min", type=float, default=0.82)
    parser.add_argument("--min-observed-rate", type=float, default=0.75)
    parser.add_argument("--min-lift", type=float, default=0.10)
    parser.add_argument("--alpha", type=float, default=0.05)
    parser.add_argument("--unfolding-modes", default="global_mean,local_window")
    parser.add_argument("--local-window", type=int, default=7)
    args = parser.parse_args()
    run(args)


if __name__ == "__main__":
    main()

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 "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 'git status --short --branch' in /opt/MM_D-ND
 succeeded in 0ms:
## main...origin/main
 M applications/INDEX.draft.json
 M docs/guides/lab_current_state_logic_2026-05-08.md
 M tools/LAB_AGENT_CONTEXT.md
 M tools/build_agent_field.py
 M tools/build_lab_graph.py
 M tools/data/agent_field_live.md
 M tools/data/b2_apply_log.jsonl
 M tools/data/ciclo_memoria.json
 M tools/data/consecutio.json
 M tools/data/consecutio_processata.json
 M tools/data/domandatore_pre_cycle.json
 M tools/data/domande_fondamentali.json
 M tools/data/g1_log.jsonl
 M tools/data/g2_log.jsonl
 M tools/data/graph_completion/latest.json
 M tools/data/incrocio_risultato.json
 M tools/data/knowledge_state.json
 M tools/data/lab_bridge_issues.jsonl
 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/repairs/repair_run_log.jsonl
 M tools/data/reports/latest.md
 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
 D tools/data/seme_archive/piano_8.json
 D tools/data/seme_archive/piano_9.json
 M tools/data/seme_backup_pre_run.json
 M tools/data/tm1_figures/tensions.json
 M tools/data/tm1_figures/tensions_raw.json
 M tools/data/valutatore_log.jsonl
 M tools/evolution_report.md
 M tools/graph_completion_compiler.py
 M tools/lab_aeternitas.py
 M tools/lab_agent.sh
 M tools/lab_falsifier.py
 M tools/lab_session_logger.py
?? applications/scoperte/20260513_0330_prime-vs-mod6-sr-boundary_auto/
?? applications/scoperte/20260514_1330_sr-residual-width-audit_auto/
?? applications/scoperte/20260514_1631_chiusura-tester-rimbalzo-fisico-w6_auto/
?? applications/scoperte/20260514_1640_rafforzamento-tester-fisico-goegue-n-curve_auto/
?? applications/scoperte/20260515_1712_primemod6-generative-null-w2048_auto/
?? applications/scoperte/20260515_1816_v2-generator-scaling-gate_auto/
?? applications/scoperte/20260515_1904_boundary-classical-crossover-audit_auto/
?? applications/scoperte/20260515_1933_rosenzweig-porter-physical-bridge-audit_auto/
?? applications/scoperte/20260515_1940_rp-boundary-size-stability-audit_auto/
?? applications/scoperte/20260515_1947_anderson-3d-mobility-edge-two-reader_auto/
?? applications/scoperte/20260516_0921_rp-unfolding-sensitivity-audit_auto/
?? applications/soluzioni/20260513_0330_prime-vs-mod6-sr-boundary/
?? applications/soluzioni/20260514_1330_sr-residual-width-audit/
?? applications/soluzioni/20260514_1631_chiusura-tester-rimbalzo-fisico-w6/
?? applications/soluzioni/20260514_1640_rafforzamento-tester-fisico-goegue-n-curve/
?? applications/soluzioni/20260515_1712_primemod6-generative-null-w2048/
?? applications/soluzioni/20260515_1816_v2-generator-scaling-gate/
?? applications/soluzioni/20260515_1904_boundary-classical-crossover-audit/
?? applications/soluzioni/20260515_1933_rosenzweig-porter-physical-bridge-audit/
?? applications/soluzioni/20260515_1940_rp-boundary-size-stability-audit/
?? applications/soluzioni/20260515_1947_anderson-3d-mobility-edge-two-reader/
?? applications/soluzioni/20260516_0921_rp-unfolding-sensitivity-audit/
?? docs/guides/lab_preflight_agent_2026-05-14.md
?? docs/operations/
?? tools/build_lab_data.py
?? tools/build_safe_agent_field_preview.py
?? tools/compose_filtered_field_preview.py
?? tools/compose_supervised_entry_preview.py
?? tools/data/aeternitas/aeternitas_20260512_033539.json
?? tools/data/aeternitas/aeternitas_20260513_033605.json
?? tools/data/aeternitas/aeternitas_20260514_033420.json
?? tools/data/aeternitas/aeternitas_20260514_133424.json
?? tools/data/aeternitas/aeternitas_20260514_150454.json
?? tools/data/aeternitas/aeternitas_20260514_161058.json
?? tools/data/aeternitas/aeternitas_20260514_161719.json
?? tools/data/aeternitas/aeternitas_20260514_163527.json
?? tools/data/aeternitas/aeternitas_20260514_164509.json
?? tools/data/aeternitas/aeternitas_20260514_165437.json
?? tools/data/aeternitas/aeternitas_20260514_170109.json
?? tools/data/aeternitas/aeternitas_20260514_171152.json
?? tools/data/aeternitas/aeternitas_20260514_185450.json
?? tools/data/aeternitas/aeternitas_20260515_162727.json
?? tools/data/aeternitas/aeternitas_20260515_165116.json
?? tools/data/aeternitas/aeternitas_20260515_170328.json
?? tools/data/aeternitas/aeternitas_20260515_171005.json
?? tools/data/aeternitas/aeternitas_20260515_171725.json
?? tools/data/aeternitas/aeternitas_20260515_172913.json
?? tools/data/aeternitas/aeternitas_20260515_174023.json
?? tools/data/aeternitas/aeternitas_20260515_175045.json
?? tools/data/aeternitas/aeternitas_20260515_180306.json
?? tools/data/aeternitas/aeternitas_20260515_181257.json
?? tools/data/aeternitas/aeternitas_20260515_182126.json
?? tools/data/aeternitas/aeternitas_20260515_183111.json
?? tools/data/aeternitas/aeternitas_20260515_190118.json
?? tools/data/aeternitas/aeternitas_20260515_191018.json
?? tools/data/aeternitas/aeternitas_20260515_192915.json
?? tools/data/aeternitas/aeternitas_20260515_193919.json
?? tools/data/aeternitas/aeternitas_20260515_194625.json
?? tools/data/aeternitas/aeternitas_20260515_195317.json
?? tools/data/aeternitas/aeternitas_20260516_033848.json
?? tools/data/aeternitas/aeternitas_20260516_0720.json
?? tools/data/aeternitas/aeternitas_20260516_0820.json
?? tools/data/aeternitas/aeternitas_20260516_0921.json
?? tools/data/agent_field_entry_supervised.md
?? tools/data/anderson3d_component_state_interface_input_20260514_1850.json
?? tools/data/anderson3d_mobility_edge_two_reader_audit_20260515_1947.json
?? tools/data/aubry_binary_grammar_surrogate_gate_20260515_1807.json
?? tools/data/aubry_boundary_phase_transport_gate_20260515_1745.json
?? tools/data/aubry_cosine_boundary_counter_gate_20260515_1758.json
?? tools/data/aubry_v2_generator_scaling_gate_20260515_1816.json
?? tools/data/biconi/bicono_20260512_0330.json
?? tools/data/biconi/bicono_20260513_0330.json
?? tools/data/biconi/bicono_20260514_0330.json
?? tools/data/biconi/bicono_20260514_1330.json
?? tools/data/biconi/bicono_20260514_1458.json
?? tools/data/biconi/bicono_20260514_1605.json
?? tools/data/biconi/bicono_20260514_1612.json
?? tools/data/biconi/bicono_20260514_1631.json
?? tools/data/biconi/bicono_20260514_1640.json
?? tools/data/biconi/bicono_20260514_1649.json
?? tools/data/biconi/bicono_20260514_1656.json
?? tools/data/biconi/bicono_20260514_1701.json
?? tools/data/biconi/bicono_20260514_1850.json
?? tools/data/biconi/bicono_20260515_1623.json
?? tools/data/biconi/bicono_20260515_1647.json
?? tools/data/biconi/bicono_20260515_1659.json
?? tools/data/biconi/bicono_20260515_1705.json
?? tools/data/biconi/bicono_20260515_1712.json
?? tools/data/biconi/bicono_20260515_1724.json
?? tools/data/biconi/bicono_20260515_1734.json
?? tools/data/biconi/bicono_20260515_1745.json
?? tools/data/biconi/bicono_20260515_1758.json
?? tools/data/biconi/bicono_20260515_1807.json
?? tools/data/biconi/bicono_20260515_1816.json
?? tools/data/biconi/bicono_20260515_1826.json
?? tools/data/biconi/bicono_20260515_1855.json
?? tools/data/biconi/bicono_20260515_1904.json
?? tools/data/biconi/bicono_20260515_1915.json
?? tools/data/biconi/bicono_20260515_1933.json
?? tools/data/biconi/bicono_20260515_1940.json
?? tools/data/biconi/bicono_20260515_1947.json
?? tools/data/biconi/bicono_20260516_0330.json
?? tools/data/biconi/bicono_20260516_0720.json
?? tools/data/biconi/bicono_20260516_0820.json
?? tools/data/biconi/bicono_20260516_0921.json
?? tools/data/boundary_bridge_stability_audit_20260515_1915.json
?? tools/data/boundary_classical_crossover_audit_20260515_1904.json
?? tools/data/boundary_graph_curvature_gate_20260515_1855.json
?? tools/data/boundary_graph_null_audit_20260516_0330.json
?? tools/data/boundary_graph_residue_threshold_audit_20260516_0720.json
?? tools/data/component_state_anderson3d_interface_20260514_1850.json
?? tools/data/component_state_anderson3d_interface_20260514_1850.trace.jsonl
?? tools/data/component_state_fit_ready_20260514_1649.json
?? tools/data/component_state_interface_smoke_20260514_1649.json
?? tools/data/component_state_interface_smoke_20260514_1649.trace.jsonl
?? tools/data/component_state_interface_smoke_input_20260514_1649.json
?? tools/data/domandatore/domandatore_20260512_0330.json
?? tools/data/domandatore/domandatore_20260512_0345.json
?? tools/data/domandatore/domandatore_20260513_0330.json
?? tools/data/domandatore/domandatore_20260513_0345.json
?? tools/data/domandatore/domandatore_20260514_0330.json
?? tools/data/domandatore/domandatore_20260514_0345.json
?? tools/data/domandatore/domandatore_20260514_1330.json
?? tools/data/domandatore/domandatore_20260514_1458.json
?? tools/data/domandatore/domandatore_20260515_0345.json
?? tools/data/domandatore/domandatore_20260515_1623.json
?? tools/data/domandatore/domandatore_20260515_1647.json
?? tools/data/domandatore/domandatore_20260515_1659.json
?? tools/data/domandatore/domandatore_20260516_0345.json
?? tools/data/evolution/evolution_20260512_0330.md
?? tools/data/evolution/evolution_20260513_0330.md
?? tools/data/evolution/evolution_20260514_0330.md
?? tools/data/evolution/evolution_20260514_1330.md
?? tools/data/evolution/evolution_20260514_1458.md
?? tools/data/evolution/evolution_20260514_1605.md
?? tools/data/evolution/evolution_20260514_1612.md
?? tools/data/evolution/evolution_20260514_1631.md
?? tools/data/evolution/evolution_20260514_1640.md
?? tools/data/evolution/evolution_20260514_1649.md
?? tools/data/evolution/evolution_20260514_1656.md
?? tools/data/evolution/evolution_20260514_1701.md
?? tools/data/evolution/evolution_20260514_1850.md
?? tools/data/evolution/evolution_20260515_1623.md
?? tools/data/evolution/evolution_20260515_1647.md
?? tools/data/evolution/evolution_20260515_1659.md
?? tools/data/evolution/evolution_20260515_1705.md
?? tools/data/evolution/evolution_20260515_1712.md
?? tools/data/evolution/evolution_20260515_1724.md
?? tools/data/evolution/evolution_20260515_1734.md
?? tools/data/evolution/evolution_20260515_1745.md
?? tools/data/evolution/evolution_20260515_1758.md
?? tools/data/evolution/evolution_20260515_1807.md
?? tools/data/evolution/evolution_20260515_1816.md
?? tools/data/evolution/evolution_20260515_1826.md
?? tools/data/evolution/evolution_20260515_1855.md
?? tools/data/evolution/evolution_20260515_1904.md
?? tools/data/evolution/evolution_20260515_1915.md
?? tools/data/evolution/evolution_20260515_1933.md
?? tools/data/evolution/evolution_20260515_1940.md
?? tools/data/evolution/evolution_20260515_1947.md
?? tools/data/evolution/evolution_20260516_0330.md
?? tools/data/evolution/evolution_20260516_0720.md
?? tools/data/evolution/evolution_20260516_0820.md
?? tools/data/evolution/evolution_20260516_0921.md
?? tools/data/graph_completion/graph_completion_20260512_0330.json
?? tools/data/graph_completion/graph_completion_20260513_0330.json
?? tools/data/graph_completion/graph_completion_20260514_0330.json
?? tools/data/graph_completion/graph_completion_20260514_1330.json
?? tools/data/graph_completion/graph_completion_20260514_1458.json
?? tools/data/graph_completion/graph_completion_20260514_1605.json
?? tools/data/graph_completion/graph_completion_20260514_1612.json
?? tools/data/graph_completion/graph_completion_20260514_1631.json
?? tools/data/graph_completion/graph_completion_20260514_1640.json
?? tools/data/graph_completion/graph_completion_20260514_1649.json
?? tools/data/graph_completion/graph_completion_20260514_1656.json
?? tools/data/graph_completion/graph_completion_20260514_1701.json
?? tools/data/graph_completion/graph_completion_20260514_1850.json
?? tools/data/graph_completion/graph_completion_20260515_1623.json
?? tools/data/graph_completion/graph_completion_20260515_1647.json
?? tools/data/graph_completion/graph_completion_20260515_1659.json
?? tools/data/graph_completion/graph_completion_20260515_1705.json
?? tools/data/graph_completion/graph_completion_20260515_1712.json
?? tools/data/graph_completion/graph_completion_20260515_1724.json
?? tools/data/graph_completion/graph_completion_20260515_1734.json
?? tools/data/graph_completion/graph_completion_20260515_1745.json
?? tools/data/graph_completion/graph_completion_20260515_1758.json
?? tools/data/graph_completion/graph_completion_20260515_1807.json
?? tools/data/graph_completion/graph_completion_20260515_1816.json
?? tools/data/graph_completion/graph_completion_20260515_1904.json
?? tools/data/graph_completion/graph_completion_20260515_1933.json
?? tools/data/graph_completion/graph_completion_20260515_1940.json
?? tools/data/graph_completion/graph_completion_20260515_1947.json
?? tools/data/graph_completion/graph_completion_20260516_0921.json
?? tools/data/incrocio_20260512_0330.json
?? tools/data/incrocio_20260513_0330.json
?? tools/data/incrocio_20260514_0330.json
?? tools/data/incrocio_20260514_1330.json
?? tools/data/incrocio_20260514_1458.json
?? tools/data/incrocio_20260514_1605.json
?? tools/data/incrocio_20260514_1612.json
?? tools/data/incrocio_20260514_1631.json
?? tools/data/incrocio_20260514_1640.json
?? tools/data/incrocio_20260514_1649.json
?? tools/data/incrocio_20260514_1656.json
?? tools/data/incrocio_20260514_1701.json
?? tools/data/incrocio_20260514_1850.json
?? tools/data/incrocio_20260515_1623.json
?? tools/data/incrocio_20260515_1647.json
?? tools/data/incrocio_20260515_1659.json
?? tools/data/incrocio_20260515_1705.json
?? tools/data/incrocio_20260515_1712.json
?? tools/data/incrocio_20260515_1724.json
?? tools/data/incrocio_20260515_1734.json
?? tools/data/incrocio_20260515_1745.json
?? tools/data/incrocio_20260515_1758.json
?? tools/data/incrocio_20260515_1807.json
?? tools/data/incrocio_20260515_1816.json
?? tools/data/incrocio_20260515_1826.json
?? tools/data/incrocio_20260515_1855.json
?? tools/data/incrocio_20260515_1904.json
?? tools/data/incrocio_20260515_1915.json
?? tools/data/incrocio_20260515_1933.json
?? tools/data/incrocio_20260515_1940.json
?? tools/data/incrocio_20260515_1947.json
?? tools/data/incrocio_20260516_0330.json
?? tools/data/incrocio_20260516_0720.json
?? tools/data/incrocio_20260516_0820.json
?? tools/data/incrocio_20260516_0921.json
?? tools/data/incrocio_20260516_0938.json
?? tools/data/operator_directives_consumed/operator_directive_20260514_1612.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1631.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1640.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1649.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1656.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1701.md
?? tools/data/operator_directives_consumed/operator_directive_20260514_1850.md
?? tools/data/photonic_boundary_third_included_gate_20260515_1734.json
?? tools/data/physical_sr_residue_bounce_20260514_1612.json
?? tools/data/physical_sr_residue_bounce_20260514_1612.trace.jsonl
?? tools/data/physical_sr_residue_bounce_20260514_1631_w6.json
?? tools/data/physical_sr_residue_bounce_20260514_1631_w6.trace.jsonl
?? tools/data/physical_sr_residue_bounce_20260514_1640_goe_gue_ncurve.json
?? tools/data/physical_sr_residue_bounce_20260514_1640_goe_gue_ncurve.trace.jsonl
?? tools/data/preflight/
?? tools/data/prime_sr_persistent_boundary_20260512_0330.json
?? tools/data/prime_sr_persistent_boundary_20260512_0330_seedcheck.json
?? tools/data/prime_vs_mod6_sr_boundary_20260513_0330.json
?? tools/data/prime_vs_mod6_sr_boundary_20260513_0330_seedcheck.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_0330.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_0330.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_0330_seedcheck.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w1024.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w2048.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1330_w512.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w4096_dense.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1458_w8192_dense.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w16384.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w4096.trace.jsonl
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.json
?? tools/data/prime_vs_mod6_sr_boundary_20260514_1605_w8192.trace.jsonl
?? tools/data/promotions/promotion_20260513_0330.json
?? tools/data/promotions/promotion_20260514_1330.json
?? tools/data/promotions/promotion_20260514_1631.json
?? tools/data/promotions/promotion_20260514_1640.json
?? tools/data/promotions/promotion_20260514_1656.json
?? tools/data/promotions/promotion_20260515_1712.json
?? tools/data/promotions/promotion_20260515_1758.json
?? tools/data/promotions/promotion_20260515_1816.json
?? tools/data/promotions/promotion_20260515_1904.json
?? tools/data/promotions/promotion_20260515_1933.json
?? tools/data/promotions/promotion_20260515_1940.json
?? tools/data/promotions/promotion_20260515_1947.json
?? tools/data/promotions/promotion_20260516_0921.json
?? tools/data/quasiperiodic_grammar_scale_gate_20260514_1701.json
?? tools/data/quasiperiodic_vc_lattice_gate_20260515_1724.json
?? tools/data/repairs/repair_20260512_0330_decision.json
?? tools/data/repairs/repair_20260513_0330_decision.json
?? tools/data/repairs/repair_20260514_0330_decision.json
?? tools/data/repairs/repair_20260514_1330_decision.json
?? tools/data/repairs/repair_20260514_1458_decision.json
?? tools/data/repairs/repair_20260514_1605_decision.json
?? tools/data/repairs/repair_20260514_1612_decision.json
?? tools/data/repairs/repair_20260514_1631_decision.json
?? tools/data/repairs/repair_20260514_1640_decision.json
?? tools/data/repairs/repair_20260514_1649_decision.json
?? tools/data/repairs/repair_20260514_1656.json
?? tools/data/repairs/repair_20260514_1656.md
?? tools/data/repairs/repair_20260514_1656_decision.json
?? tools/data/repairs/repair_20260514_1850_decision.json
?? tools/data/reports/agent_20260512_0330.md
?? tools/data/reports/agent_20260513_0330.md
?? tools/data/reports/agent_20260514_0330.md
?? tools/data/reports/agent_20260514_1330.md
?? tools/data/reports/agent_20260514_1458.md
?? tools/data/reports/agent_20260514_1605.md
?? tools/data/reports/agent_20260514_1612.md
?? tools/data/reports/agent_20260514_1631.md
?? tools/data/reports/agent_20260514_1640.md
?? tools/data/reports/agent_20260514_1649.md
?? tools/data/reports/agent_20260514_1656.md
?? tools/data/reports/agent_20260514_1701.md
?? tools/data/reports/agent_20260514_1850.md
?? tools/data/reports/agent_20260515_1623.md
?? tools/data/reports/agent_20260515_1647.md
?? tools/data/reports/agent_20260515_1659.md
?? tools/data/reports/agent_20260515_1705.md
?? tools/data/reports/agent_20260515_1712.md
?? tools/data/reports/agent_20260515_1724.md
?? tools/data/reports/agent_20260515_1734.md
?? tools/data/reports/agent_20260515_1745.md
?? tools/data/reports/agent_20260515_1758.md
?? tools/data/reports/agent_20260515_1807.md
?? tools/data/reports/agent_20260515_1816.md
?? tools/data/reports/agent_20260515_1826.md
?? tools/data/reports/agent_20260515_1855.md
?? tools/data/reports/agent_20260515_1904.md
?? tools/data/reports/agent_20260515_1915.md
?? tools/data/reports/agent_20260515_1933.md
?? tools/data/reports/agent_20260515_1940.md
?? tools/data/reports/agent_20260515_1947.md
?? tools/data/reports/agent_20260516_0330.md
?? tools/data/reports/agent_20260516_0720.md
?? tools/data/reports/agent_20260516_0820.md
?? tools/data/reports/agent_20260516_0921.md
?? tools/data/reports/ddf_20260512_0405.json
?? tools/data/reports/ddf_20260513_0405.json
?? tools/data/reports/ddf_20260514_0405.json
?? tools/data/reports/ddf_20260515_0405.json
?? tools/data/reports/ddf_20260516_0405.json
?? tools/data/reports/falsifier_20260512_0330.json
?? tools/data/reports/falsifier_20260513_0330.json
?? tools/data/reports/falsifier_20260514_0330.json
?? tools/data/reports/falsifier_20260514_1330.json
?? tools/data/reports/falsifier_20260514_1458.json
?? tools/data/reports/falsifier_20260514_1605.json
?? tools/data/reports/falsifier_20260514_1612.json
?? tools/data/reports/falsifier_20260514_1631.json
?? tools/data/reports/falsifier_20260514_1640.json
?? tools/data/reports/falsifier_20260514_1649.json
?? tools/data/reports/falsifier_20260514_1656.json
?? tools/data/reports/falsifier_20260514_1701.json
?? tools/data/reports/falsifier_20260514_1850.json
?? tools/data/reports/falsifier_20260515_1623.json
?? tools/data/reports/falsifier_20260515_1647.json
?? tools/data/reports/falsifier_20260515_1659.json
?? tools/data/reports/falsifier_20260515_1705.json
?? tools/data/reports/falsifier_20260515_1712.json
?? tools/data/reports/falsifier_20260515_1712.raw.txt
?? tools/data/reports/falsifier_20260515_1724.json
?? tools/data/reports/falsifier_20260515_1734.json
?? tools/data/reports/falsifier_20260515_1745.json
?? tools/data/reports/falsifier_20260515_1758.json
?? tools/data/reports/falsifier_20260515_1807.json
?? tools/data/reports/falsifier_20260515_1816.json
?? tools/data/reports/falsifier_20260515_1826.json
?? tools/data/reports/falsifier_20260515_1855.json
?? tools/data/reports/falsifier_20260515_1904.json
?? tools/data/reports/falsifier_20260515_1915.json
?? tools/data/reports/falsifier_20260515_1933.json
?? tools/data/reports/falsifier_20260515_1940.json
?? tools/data/reports/falsifier_20260515_1947.json
?? tools/data/reports/falsifier_20260516_0330.json
?? tools/data/reports/falsifier_20260516_0720.json
?? tools/data/reports/falsifier_20260516_0820.json
?? tools/data/reports/falsifier_20260516_0921.json
?? tools/data/reports/falsifier_20260516_0921.raw.txt
?? tools/data/reports/loop_guard_20260512_0330.json
?? tools/data/reports/loop_guard_20260513_0330.json
?? tools/data/reports/loop_guard_20260514_0330.json
?? tools/data/reports/loop_guard_20260514_1330.json
?? tools/data/reports/loop_guard_20260514_1458.json
?? tools/data/reports/loop_guard_20260514_1605.json
?? tools/data/reports/loop_guard_20260514_1612.json
?? tools/data/reports/loop_guard_20260514_1631.json
?? tools/data/reports/loop_guard_20260514_1640.json
?? tools/data/reports/loop_guard_20260514_1649.json
?? tools/data/reports/loop_guard_20260514_1656.json
?? tools/data/reports/loop_guard_20260514_1701.json
?? tools/data/reports/loop_guard_20260514_1850.json
?? tools/data/reports/loop_guard_20260515_1623.json
?? tools/data/reports/loop_guard_20260515_1647.json
?? tools/data/reports/loop_guard_20260515_1659.json
?? tools/data/reports/loop_guard_20260515_1705.json
?? tools/data/reports/loop_guard_20260515_1712.json
?? tools/data/reports/loop_guard_20260515_1724.json
?? tools/data/reports/loop_guard_20260515_1734.json
?? tools/data/reports/loop_guard_20260515_1745.json
?? tools/data/reports/loop_guard_20260515_1758.json
?? tools/data/reports/loop_guard_20260515_1807.json
?? tools/data/reports/loop_guard_20260515_1816.json
?? tools/data/reports/loop_guard_20260515_1826.json
?? tools/data/reports/loop_guard_20260515_1855.json
?? tools/data/reports/loop_guard_20260515_1904.json
?? tools/data/reports/loop_guard_20260515_1915.json
?? tools/data/reports/loop_guard_20260515_1933.json
?? tools/data/reports/loop_guard_20260515_1940.json
?? tools/data/reports/loop_guard_20260515_1947.json
?? tools/data/reports/loop_guard_20260516_0330.json
?? tools/data/reports/loop_guard_20260516_0720.json
?? tools/data/reports/loop_guard_20260516_0820.json
?? tools/data/reports/loop_guard_20260516_0921.json
?? tools/data/reports/quarantine_manifest.json
?? tools/data/restore_backups/
?? tools/data/rosenzweig_porter_bridge_physical_audit_20260515_1933.json
?? tools/data/rp_boundary_raw_count_null_audit_20260516_0820.json
?? tools/data/rp_boundary_size_stability_audit_20260515_1940.json
?? tools/data/rp_unfolding_sensitivity_audit_20260516_0921.json
?? tools/data/seme_backup_b2_20260512_033557.json
?? tools/data/seme_backup_b2_20260513_033622.json
?? tools/data/seme_backup_b2_20260514_150530.json
?? tools/data/seme_backup_b2_20260514_161119.json
?? tools/data/seme_backup_b2_20260515_180327.json
?? tools/data/seme_backup_b2_20260515_194643.json
?? tools/data/sturmian_denominator_alignment_gate_20260515_1826.json
?? tools/data/tool_contracts/
?? tools/data/veritas/veritas_20260512_033539.json
?? tools/data/veritas/veritas_20260513_033605.json
?? tools/data/veritas/veritas_20260514_033420.json
?? tools/data/veritas/veritas_20260514_133424.json
?? tools/data/veritas/veritas_20260514_150454.json
?? tools/data/veritas/veritas_20260514_161058.json
?? tools/data/veritas/veritas_20260514_161719.json
?? tools/data/veritas/veritas_20260514_163527.json
?? tools/data/veritas/veritas_20260514_164509.json
?? tools/data/veritas/veritas_20260514_165437.json
?? tools/data/veritas/veritas_20260514_170109.json
?? tools/data/veritas/veritas_20260514_171152.json
?? tools/data/veritas/veritas_20260514_185450.json
?? tools/data/veritas/veritas_20260515_162727.json
?? tools/data/veritas/veritas_20260515_165116.json
?? tools/data/veritas/veritas_20260515_170328.json
?? tools/data/veritas/veritas_20260515_171005.json
?? tools/data/veritas/veritas_20260515_171725.json
?? tools/data/veritas/veritas_20260515_172913.json
?? tools/data/veritas/veritas_20260515_174023.json
?? tools/data/veritas/veritas_20260515_175045.json
?? tools/data/veritas/veritas_20260515_180306.json
?? tools/data/veritas/veritas_20260515_181257.json
?? tools/data/veritas/veritas_20260515_182126.json
?? tools/data/veritas/veritas_20260515_183111.json
?? tools/data/veritas/veritas_20260515_190118.json
?? tools/data/veritas/veritas_20260515_191018.json
?? tools/data/veritas/veritas_20260515_192915.json
?? tools/data/veritas/veritas_20260515_193919.json
?? tools/data/veritas/veritas_20260515_194625.json
?? tools/data/veritas/veritas_20260515_195317.json
?? tools/data/veritas/veritas_20260516_033848.json
?? tools/data/veritas/veritas_20260516_072533.json
?? tools/data/veritas/veritas_20260516_082608.json
?? tools/data/veritas/veritas_20260516_092735.json
?? tools/exp_anderson3d_mobility_edge_two_reader_audit.py
?? tools/exp_aubry_binary_grammar_surrogate_gate.py
?? tools/exp_aubry_boundary_phase_transport_gate.py
?? tools/exp_aubry_cosine_boundary_counter_gate.py
?? tools/exp_aubry_v2_generator_scaling_gate.py
?? tools/exp_boundary_bridge_stability_audit.py
?? tools/exp_boundary_classical_crossover_audit.py
?? tools/exp_boundary_graph_curvature_gate.py
?? tools/exp_boundary_graph_null_audit.py
?? tools/exp_boundary_graph_residue_threshold_audit.py
?? tools/exp_photonic_boundary_third_included_gate.py
?? tools/exp_physical_sr_residue_bounce.py
?? tools/exp_prime_sr_persistent_boundary.py
?? tools/exp_prime_vs_mod6_sr_boundary.py
?? tools/exp_quasiperiodic_grammar_scale_gate.py
?? tools/exp_rosenzweig_porter_bridge_physical_audit.py
?? tools/exp_rp_boundary_raw_count_null_audit.py
?? tools/exp_rp_boundary_size_stability_audit.py
?? tools/exp_rp_unfolding_sensitivity_audit.py
?? tools/exp_sturmian_denominator_alignment_gate.py
?? tools/field_coherence_preflight.py
?? tools/field_rebuild_risk_map.py
?? tools/lab_cycle_monitor.py
?? tools/lab_preflight_agent.py
?? tools/lab_runtime_observer.py
?? tools/lab_surface_invariant_check.py
?? tools/lab_tool_contract.py
?? tools/prime_mod6_counter_null_audit.py
?? tools/prime_mod6_generative_null_audit.py
?? tools/prime_mod6_null_fairness_audit.py
?? tools/prime_mod6_pipeline_closeout.py
?? tools/selector_authority_matrix.py
?? tools/stale_field_source_map.py

exec
/bin/bash -lc 'python tools/dnd_scenario.py --best' in /opt/MM_D-ND
 succeeded in 160ms:
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
COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE: score=0.758  — COMP_DOMAIN_PHOTONIC_TRASCENDENZA_LIMITE: incerto (i=0.65) — massimo potere discriminante

codex
La mossa minima è non creare un nuovo gate: riuso lo strumento 09:21 con perimetro ridotto e preregistrato. Candidate row: `RP_lambda_0.045`; sentinelle: `0.030` Poisson-pole, `0.060` coordinata-sensibile, `0.075` global/intermittente, `0.820` GUE-pole; size aumentate `160,192`; local windows alternative `5` e `11`.
exec
/bin/bash -lc 'python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py' in /opt/MM_D-ND
 succeeded in 0ms:
exec
/bin/bash -lc 'python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5' in /opt/MM_D-ND
exec
/bin/bash -lc 'python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11' in /opt/MM_D-ND
codex
I due run numerici sono in esecuzione in parallelo. Sto lasciando invariati script e seme: per ora il deposito nuovo sarà solo nei due JSON di stress e nel report 09:38.
 succeeded in 81232ms:
{
  "per_mode": {
    "global_mean": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ],
      "thresholded_two_reader_all_sizes": 3,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    },
    "local_window": {
      "thresholded_two_reader_all_size_rows": [],
      "thresholded_two_reader_all_sizes": 0,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    }
  },
  "thresholded_two_reader_all_mode_rows": [],
  "thresholded_two_reader_all_modes": 0,
  "unfolding_sensitive_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}

 succeeded in 81428ms:
{
  "per_mode": {
    "global_mean": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ],
      "thresholded_two_reader_all_sizes": 3,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    },
    "local_window": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.060"
      ],
      "thresholded_two_reader_all_sizes": 1,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    }
  },
  "thresholded_two_reader_all_mode_rows": [
    "RP_lambda_0.060"
  ],
  "thresholded_two_reader_all_modes": 1,
  "unfolding_sensitive_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.075"
  ]
}

codex
Il deposito ha invertito l’aspettativa: con size maggiori e window 5 passa `0.060`, mentre `0.045` diventa sensibile; con window 11 nessuna riga passa tutti i modi. Ora estraggo i count grezzi per formulare il report senza salvare il claim precedente.
exec
/bin/bash -lc "jq -r '.comparison_rows[] | [.domain_window,.global_mean_pass_sizes,.global_mean_min_observed_rate,.global_mean_min_lift,.global_mean_max_null_p,.local_window_pass_sizes,.local_window_min_observed_rate,.local_window_min_lift,.local_window_max_null_p] | @tsv' tools/data/rp_candidate_window_stress_20260516_0938_w5.json" in /opt/MM_D-ND
 exited 5 in 0ms:
jq: error (at tools/data/rp_candidate_window_stress_20260516_0938_w5.json:1574): array ([]) is not valid in a csv row

exec
/bin/bash -lc "jq -r '.comparison_rows[] | [.domain_window,.global_mean_pass_sizes,.global_mean_min_observed_rate,.global_mean_min_lift,.global_mean_max_null_p,.local_window_pass_sizes,.local_window_min_observed_rate,.local_window_min_lift,.local_window_max_null_p] | @tsv' tools/data/rp_candidate_window_stress_20260516_0938_w11.json" in /opt/MM_D-ND
 exited 5 in 0ms:
jq: error (at tools/data/rp_candidate_window_stress_20260516_0938_w11.json:1563): array ([]) is not valid in a csv row

exec
/bin/bash -lc "jq '.by_size_mode[] | {window:.unfolding_mode,n:.n, rows:[.rows[] | select(.domain_window==\"RP_lambda_0.045\" or .domain_window==\"RP_lambda_0.060\" or .domain_window==\"RP_lambda_0.075\") | {lambda:.lambda, classical:.classical_audit_state, observed:[.observed_successes,.observed_total], label:[.label_shuffle_successes,.label_shuffle_total], label_p:.label_shuffle_binomial_tail_p, position:[.position_shift_successes,.position_shift_total], position_p:.position_shift_binomial_tail_p, min_lift:.min_lift_against_nulls, pass:.threshold_pass}]}' tools/data/rp_candidate_window_stress_20260516_0938_w5.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "window": "global_mean",
  "n": 160,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        303,
        768
      ],
      "label_p": 0.013796,
      "position": [
        17,
        48
      ],
      "position_p": 0.00614,
      "min_lift": 0.355469,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        379,
        768
      ],
      "label_p": 0.000209,
      "position": [
        18,
        48
      ],
      "position_p": 0.000008,
      "min_lift": 0.50651,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        383,
        768
      ],
      "label_p": 0.000237,
      "position": [
        17,
        48
      ],
      "position_p": 0.000004,
      "min_lift": 0.501302,
      "pass": true
    }
  ]
}
{
  "window": "global_mean",
  "n": 192,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        287,
        768
      ],
      "label_p": 0.000007,
      "position": [
        15,
        48
      ],
      "position_p": 0.000001,
      "min_lift": 0.626302,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        11,
        12
      ],
      "label": [
        269,
        768
      ],
      "label_p": 0.000079,
      "position": [
        9,
        48
      ],
      "position_p": 0.0,
      "min_lift": 0.566406,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        333,
        768
      ],
      "label_p": 0.000044,
      "position": [
        18,
        48
      ],
      "position_p": 0.000008,
      "min_lift": 0.566406,
      "pass": true
    }
  ]
}
{
  "window": "local_window",
  "n": 160,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        372,
        768
      ],
      "label_p": 0.059037,
      "position": [
        24,
        48
      ],
      "position_p": 0.072998,
      "min_lift": 0.25,
      "pass": false
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        357,
        768
      ],
      "label_p": 0.04458,
      "position": [
        20,
        48
      ],
      "position_p": 0.020559,
      "min_lift": 0.285156,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        403,
        768
      ],
      "label_p": 0.100007,
      "position": [
        23,
        48
      ],
      "position_p": 0.054871,
      "min_lift": 0.22526,
      "pass": false
    }
  ]
}
{
  "window": "local_window",
  "n": 192,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        376,
        768
      ],
      "label_p": 0.00019,
      "position": [
        20,
        48
      ],
      "position_p": 0.000027,
      "min_lift": 0.510417,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        10,
        12
      ],
      "label": [
        381,
        768
      ],
      "label_p": 0.018062,
      "position": [
        18,
        48
      ],
      "position_p": 0.00158,
      "min_lift": 0.33724,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        360,
        768
      ],
      "label_p": 0.000113,
      "position": [
        21,
        48
      ],
      "position_p": 0.000049,
      "min_lift": 0.53125,
      "pass": true
    }
  ]
}

exec
/bin/bash -lc "jq '.by_size_mode[] | {window:.unfolding_mode,n:.n, rows:[.rows[] | select(.domain_window==\"RP_lambda_0.045\" or .domain_window==\"RP_lambda_0.060\" or .domain_window==\"RP_lambda_0.075\") | {lambda:.lambda, classical:.classical_audit_state, observed:[.observed_successes,.observed_total], label:[.label_shuffle_successes,.label_shuffle_total], label_p:.label_shuffle_binomial_tail_p, position:[.position_shift_successes,.position_shift_total], position_p:.position_shift_binomial_tail_p, min_lift:.min_lift_against_nulls, pass:.threshold_pass}]}' tools/data/rp_candidate_window_stress_20260516_0938_w11.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "window": "global_mean",
  "n": 160,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        303,
        768
      ],
      "label_p": 0.013796,
      "position": [
        17,
        48
      ],
      "position_p": 0.00614,
      "min_lift": 0.355469,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        379,
        768
      ],
      "label_p": 0.000209,
      "position": [
        18,
        48
      ],
      "position_p": 0.000008,
      "min_lift": 0.50651,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        383,
        768
      ],
      "label_p": 0.000237,
      "position": [
        17,
        48
      ],
      "position_p": 0.000004,
      "min_lift": 0.501302,
      "pass": true
    }
  ]
}
{
  "window": "global_mean",
  "n": 192,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        287,
        768
      ],
      "label_p": 0.000007,
      "position": [
        15,
        48
      ],
      "position_p": 0.000001,
      "min_lift": 0.626302,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        11,
        12
      ],
      "label": [
        269,
        768
      ],
      "label_p": 0.000079,
      "position": [
        9,
        48
      ],
      "position_p": 0.0,
      "min_lift": 0.566406,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        333,
        768
      ],
      "label_p": 0.000044,
      "position": [
        18,
        48
      ],
      "position_p": 0.000008,
      "min_lift": 0.566406,
      "pass": true
    }
  ]
}
{
  "window": "local_window",
  "n": 160,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        6,
        12
      ],
      "label": [
        337,
        768
      ],
      "label_p": 0.441425,
      "position": [
        20,
        48
      ],
      "position_p": 0.379769,
      "min_lift": 0.061198,
      "pass": false
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        382,
        768
      ],
      "label_p": 0.070513,
      "position": [
        23,
        48
      ],
      "position_p": 0.054871,
      "min_lift": 0.252604,
      "pass": false
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        419,
        768
      ],
      "label_p": 0.127896,
      "position": [
        23,
        48
      ],
      "position_p": 0.054871,
      "min_lift": 0.204427,
      "pass": false
    }
  ]
}
{
  "window": "local_window",
  "n": 192,
  "rows": [
    {
      "lambda": 0.045,
      "classical": "classical_intermediate",
      "observed": [
        11,
        12
      ],
      "label": [
        411,
        768
      ],
      "label_p": 0.006303,
      "position": [
        24,
        48
      ],
      "position_p": 0.003174,
      "min_lift": 0.38151,
      "pass": true
    },
    {
      "lambda": 0.06,
      "classical": "classical_intermediate",
      "observed": [
        12,
        12
      ],
      "label": [
        380,
        768
      ],
      "label_p": 0.000215,
      "position": [
        15,
        48
      ],
      "position_p": 0.000001,
      "min_lift": 0.505208,
      "pass": true
    },
    {
      "lambda": 0.075,
      "classical": "classical_intermediate",
      "observed": [
        9,
        12
      ],
      "label": [
        340,
        768
      ],
      "label_p": 0.031714,
      "position": [
        18,
        48
      ],
      "position_p": 0.009457,
      "min_lift": 0.307292,
      "pass": true
    }
  ]
}

exec
/bin/bash -lc "jq '.summary, .by_size_mode[].summary' tools/data/rp_candidate_window_stress_20260516_0938_w5.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "per_mode": {
    "global_mean": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ],
      "thresholded_two_reader_all_sizes": 3,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    },
    "local_window": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.060"
      ],
      "thresholded_two_reader_all_sizes": 1,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    }
  },
  "thresholded_two_reader_all_mode_rows": [
    "RP_lambda_0.060"
  ],
  "thresholded_two_reader_all_modes": 1,
  "unfolding_sensitive_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 1,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.060"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}

exec
/bin/bash -lc "jq '.summary, .by_size_mode[].summary' tools/data/rp_candidate_window_stress_20260516_0938_w11.json" in /opt/MM_D-ND
 succeeded in 0ms:
{
  "per_mode": {
    "global_mean": {
      "thresholded_two_reader_all_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ],
      "thresholded_two_reader_all_sizes": 3,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    },
    "local_window": {
      "thresholded_two_reader_all_size_rows": [],
      "thresholded_two_reader_all_sizes": 0,
      "thresholded_two_reader_any_size": 3,
      "thresholded_two_reader_any_size_rows": [
        "RP_lambda_0.045",
        "RP_lambda_0.060",
        "RP_lambda_0.075"
      ]
    }
  },
  "thresholded_two_reader_all_mode_rows": [],
  "thresholded_two_reader_all_modes": 0,
  "unfolding_sensitive_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 0,
  "thresholded_two_reader_rows": []
}
{
  "graph_only_stable_count": 0,
  "graph_only_stable_rows": [],
  "thresholded_two_reader_count": 3,
  "thresholded_two_reader_rows": [
    "RP_lambda_0.045",
    "RP_lambda_0.060",
    "RP_lambda_0.075"
  ]
}

exec
/bin/bash -lc "jq -r '.by_size_mode[] | [.unfolding_mode,.n, (.rows[] | select(.domain_window==\"RP_lambda_0.030\" or .domain_window==\"RP_lambda_0.820\") | [.domain_window,.classical_audit_state,.observed_successes,.observed_total,.threshold_pass] | @csv)] | @tsv' tools/data/rp_candidate_window_stress_20260516_0938_w5.json" in /opt/MM_D-ND
 succeeded in 0ms:
global_mean	160	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
global_mean	192	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
local_window	160	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
local_window	192	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false

exec
/bin/bash -lc "jq -r '.by_size_mode[] | [.unfolding_mode,.n, (.rows[] | select(.domain_window==\"RP_lambda_0.030\" or .domain_window==\"RP_lambda_0.820\") | [.domain_window,.classical_audit_state,.observed_successes,.observed_total,.threshold_pass] | @csv)] | @tsv' tools/data/rp_candidate_window_stress_20260516_0938_w11.json" in /opt/MM_D-ND
 succeeded in 0ms:
global_mean	160	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
global_mean	192	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
local_window	160	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false
local_window	192	"RP_lambda_0.030","classical_intermediate",0,12,false	"RP_lambda_0.820","classical_intermediate",0,12,false

codex
Scrivo il report come vincolo/falsificazione, non come promozione: il nuovo risultato non conferma `0.045` come nucleo stabile. La riparazione regressiva va nel contratto: la larghezza di unfolding locale è parte del perimetro, non dettaglio tecnico.
apply patch
patch: completed
/opt/MM_D-ND/tools/data/reports/agent_20260516_0938.md
diff --git a/tools/data/reports/agent_20260516_0938.md b/tools/data/reports/agent_20260516_0938.md
new file mode 100644
index 0000000000000000000000000000000000000000..272e6f41995372b9b0d5ea9dd4d9d9cdf79ac495
--- /dev/null
+++ b/tools/data/reports/agent_20260516_0938.md
@@ -0,0 +1,104 @@
+# Agent Report - RP Candidate Local-Window Stress Gate
+**Date**: 2026-05-16 09:38
+**Piano**: 125
+**Tension explored**: BOUNDARY (0.8)
+**verdict**: CONSTRAINT/FALSIFICATION - `RP_lambda_0.045` non resta terzo incluso operativo quando il perimetro viene ristretto a candidate row + sentinels, size maggiori e unfolding locali alternativi. La riga che passa con local-window 5 e `0.060`; con local-window 11 non passa nessuna riga all-mode.
+observables_registry: 1.0.0-2026-05-06
+observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode, local_window]
+**observable_contract**: claim=`RP_lambda_0.045` resta boundary solo se batte label-shuffle e position-shift su size maggiori e su finestre locali alternative; observable=two-reader raw-count threshold per lambda, size, unfolding mode e local_window; operator=stress del gate 09:21 con candidate row preregistrata e sentinelle; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`, size `160/192`, seed x k = `4 x 3`; non_possible=terzo incluso stabile se la candidate row cade in una finestra locale o se una sentinella prende il ruolo; not_tested=altre finestre locali, piu seed, N oltre 192, Anderson 3D, spettri sperimentali.
+
+## Respiro fuori-tempo
+- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY.
+- **Dipolo / punto-zero**: boundary robusto / boundary dipendente dalla coordinata di smoothing. Punto-zero: la stessa riga lambda prima che la larghezza dell'unfolding locale scelga il confine.
+- **Piano superiore**: topologia assiomatica del bordo; la finestra locale e un operatore di bordo, non una normalizzazione neutra.
+- **Operatori laterali scelti**: boundary operator, filtrazione per scala locale, same-spectrum coordinate stress.
+- **Contaminazione cognitiva**: CE-0022 metabolizzata dal campo vivo come vincolo anti-ritorno a Sturmian; YSN DeltaLink=`candidate boundary / smoothing-scale`; Cornelius gene=`WINDOW_WIDTH_IS_PERIMETER`: DICHIARA CANDIDATE, CAMBIA FINESTRA, NON SALVARE LA RIGA.
+- **Proto-ipotesi**: il terzo incluso RP non e una lambda promossa dal ciclo precedente; e la classe di righe che resta all-size quando il bordo viene filtrato da piu larghezze locali.
+- **Possibile/non-possibile**: possibile = trattare la larghezza locale come parametro fisico del boundary; non-possibile = cristallizzare `0.045` come nucleo RP stabile nel perimetro attuale.
+- **Proiezione**: run separati con local_window `5` e `11`, size `160/192`, candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`.
+
+## Aderenza alla direzione
+- `relation`: `follows_direction`
+- `why`: testa direttamente il confine RP indicato dal valutatore, con `RP_lambda_0.045` come candidate row e `0.060` come sentinella coordinata-sensibile.
+- `not_drift`: non ritorna a phi, Sturmian, V_c o deposito locale; cambia solo size e larghezza di unfolding sul perimetro GUE/Poisson RP.
+
+## Re-discovery audit
+- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
+- **Cosa viene assorbito dal baseline**: la dipendenza dalla procedura di unfolding e attesa nei crossover finiti.
+- **Cosa resta Lab-specific**: il contratto row-aligned `candidate + sentinels`, con count grezzi e null prima della parola boundary.
+- **Separazione richiesta**: `two_reader_boundary_confirmed = []` sul perimetro all-window; `graph_only_residue = 0`; `scope_change_declared = local_window width promoted to perimeter`; `graph_baseline_audit = label shuffle + position shift + local-window stress`.
+
+## Claim Under Test
+> `RP_lambda_0.045` resta terzo incluso operativo quando il gate 09:21 viene ripetuto su size maggiori e local-window unfolding alternativi.
+
+## Question
+La candidate row `0.045` sopravvive quando la larghezza dell'unfolding locale cambia, oppure il boundary RP e ancora coordinata-dipendente?
+
+## Experiment Design
+- **Script riusato**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
+- **Runs**:
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5`
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11`
+- **Soglia preregistrata**: `observed_rate >= 0.75`, lift contro ogni null `>= 0.10`, p-value contro ogni null `<= 0.05`, stato `classical_intermediate`, pass su tutte le size e su ogni unfolding testato.
+- **Denominatori per size/mode**: observed `12`; label-shuffle `768`; position-shift `48`.
+
+## Results
+| local window | all-mode thresholded rows | state |
+|---:|---|---|
+| 5 | `RP_lambda_0.060` | candidate 0.045 cade; 0.060 passa solo in questa finestra |
+| 11 | `[]` | nessuna riga all-mode |
+
+### Candidate + Sentinels Counts
+| window | mode | size | lambda | observed | label null | label p | position null | position p | min lift | state |
+|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
+| 5 | global_mean | 160 | 0.045 | 9/12 | 303/768 | 0.013796 | 17/48 | 0.006140 | 0.355469 | pass |
+| 5 | global_mean | 192 | 0.045 | 12/12 | 287/768 | 0.000007 | 15/48 | 0.000001 | 0.626302 | pass |
+| 5 | local_window | 160 | 0.045 | 9/12 | 372/768 | 0.059037 | 24/48 | 0.072998 | 0.250000 | positive_lift_unthresholded |
+| 5 | local_window | 192 | 0.045 | 12/12 | 376/768 | 0.000190 | 20/48 | 0.000027 | 0.510417 | pass |
+| 5 | local_window | 160 | 0.060 | 9/12 | 357/768 | 0.044580 | 20/48 | 0.020559 | 0.285156 | pass |
+| 5 | local_window | 192 | 0.060 | 10/12 | 381/768 | 0.018062 | 18/48 | 0.001580 | 0.337240 | pass |
+| 11 | local_window | 160 | 0.045 | 6/12 | 337/768 | 0.441425 | 20/48 | 0.379769 | 0.061198 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.045 | 11/12 | 411/768 | 0.006303 | 24/48 | 0.003174 | 0.381510 | pass |
+| 11 | local_window | 160 | 0.060 | 9/12 | 382/768 | 0.070513 | 23/48 | 0.054871 | 0.252604 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.060 | 12/12 | 380/768 | 0.000215 | 15/48 | 0.000001 | 0.505208 | pass |
+
+Le sentinelle endpoint `0.030` e `0.820` hanno `0/12` observed in ogni size/mode e non entrano nel boundary.
+
+## Key Findings
+1. Verificato: `RP_lambda_0.045` non e all-window stable. Cade a N=160 sia con local_window 5 (`9/12`, p null massimi `0.072998`) sia con local_window 11 (`6/12`, p null massimi `0.441425`).
+2. Verificato: `RP_lambda_0.060` non e solo global-mean artifact nel perimetro window 5: passa local_window 5 su N=160 e N=192. Cade pero con window 11 a N=160 (`9/12`, label p `0.070513`, position p `0.054871`).
+3. Verificato: con window 11 nessuna riga passa `global_mean + local_window` su tutte le size. Il boundary non sopravvive come riga singola nel perimetro multi-window.
+4. Inferito dal perimetro: la coordinata regressiva mancante nel ciclo 09:21 era `local_window width`. La finestra locale non e parametro tecnico secondario: decide quale lambda puo essere chiamata boundary.
+
+## Verdict
+CONSTRAINT/FALSIFICATION
+
+Il claim "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable" cade nel perimetro 09:38. Non va salvato spostando il focus su `0.060`: anche `0.060` e window-sensitive. La formulazione corretta e: nel RP finito il boundary two-reader resta una risposta del triplo `(lambda, size, local_window)`, non una riga lambda cristallizzabile.
+
+## Bicono della scoperta
+- **Due radici**: lambda-boundary; smoothing-boundary.
+- **Singolare**: stessa riga candidata sotto cambiamento della larghezza locale.
+- **Invariante di passaggio**: raw counts + null p-value + all-size + all-window.
+- **Campo di possibilita**: possibile = progettare il boundary come curva in `(lambda, local_window, N)`; non-possibile = promuovere `0.045` o `0.060` come nucleo stabile senza dichiarare la larghezza locale.
+
+## Consecutio
+Riparare al nodo regressivo del perimetro: il prossimo ciclo deve trattare `local_window` come asse del boundary, non come opzione. Eseguire una matrice piccola `window={5,7,9,11}` x `N={160,192}` x candidate/sentinels e riportare una curva di persistenza per lambda; solo dopo tentare il rimbalzo Anderson 3D.
+
+## Ricadute pratiche
+ssp_value: yes. Lo strumento `tools/exp_rp_unfolding_sensitivity_audit.py` resta riusabile; il nuovo uso mostra che deve accettare esplicitamente matrici di `local_window` o essere wrapped da un runner di stress.
+
+## Telemetria
+- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
+- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY/RP seguita per contratto vivo del campo.
+- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
+- Run window 5 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`.
+- Run window 11 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`.
+- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
+- Nessun update del seme.
+- Nessuna promozione e nessun public sync.
+
+## Files
+- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`
+- Report: `tools/data/reports/agent_20260516_0938.md`

diff --git a/tools/data/reports/agent_20260516_0938.md b/tools/data/reports/agent_20260516_0938.md
new file mode 100644
index 0000000000000000000000000000000000000000..272e6f41995372b9b0d5ea9dd4d9d9cdf79ac495
--- /dev/null
+++ b/tools/data/reports/agent_20260516_0938.md
@@ -0,0 +1,104 @@
+# Agent Report - RP Candidate Local-Window Stress Gate
+**Date**: 2026-05-16 09:38
+**Piano**: 125
+**Tension explored**: BOUNDARY (0.8)
+**verdict**: CONSTRAINT/FALSIFICATION - `RP_lambda_0.045` non resta terzo incluso operativo quando il perimetro viene ristretto a candidate row + sentinels, size maggiori e unfolding locali alternativi. La riga che passa con local-window 5 e `0.060`; con local-window 11 non passa nessuna riga all-mode.
+observables_registry: 1.0.0-2026-05-06
+observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode, local_window]
+**observable_contract**: claim=`RP_lambda_0.045` resta boundary solo se batte label-shuffle e position-shift su size maggiori e su finestre locali alternative; observable=two-reader raw-count threshold per lambda, size, unfolding mode e local_window; operator=stress del gate 09:21 con candidate row preregistrata e sentinelle; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`, size `160/192`, seed x k = `4 x 3`; non_possible=terzo incluso stabile se la candidate row cade in una finestra locale o se una sentinella prende il ruolo; not_tested=altre finestre locali, piu seed, N oltre 192, Anderson 3D, spettri sperimentali.
+
+## Respiro fuori-tempo
+- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY.
+- **Dipolo / punto-zero**: boundary robusto / boundary dipendente dalla coordinata di smoothing. Punto-zero: la stessa riga lambda prima che la larghezza dell'unfolding locale scelga il confine.
+- **Piano superiore**: topologia assiomatica del bordo; la finestra locale e un operatore di bordo, non una normalizzazione neutra.
+- **Operatori laterali scelti**: boundary operator, filtrazione per scala locale, same-spectrum coordinate stress.
+- **Contaminazione cognitiva**: CE-0022 metabolizzata dal campo vivo come vincolo anti-ritorno a Sturmian; YSN DeltaLink=`candidate boundary / smoothing-scale`; Cornelius gene=`WINDOW_WIDTH_IS_PERIMETER`: DICHIARA CANDIDATE, CAMBIA FINESTRA, NON SALVARE LA RIGA.
+- **Proto-ipotesi**: il terzo incluso RP non e una lambda promossa dal ciclo precedente; e la classe di righe che resta all-size quando il bordo viene filtrato da piu larghezze locali.
+- **Possibile/non-possibile**: possibile = trattare la larghezza locale come parametro fisico del boundary; non-possibile = cristallizzare `0.045` come nucleo RP stabile nel perimetro attuale.
+- **Proiezione**: run separati con local_window `5` e `11`, size `160/192`, candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`.
+
+## Aderenza alla direzione
+- `relation`: `follows_direction`
+- `why`: testa direttamente il confine RP indicato dal valutatore, con `RP_lambda_0.045` come candidate row e `0.060` come sentinella coordinata-sensibile.
+- `not_drift`: non ritorna a phi, Sturmian, V_c o deposito locale; cambia solo size e larghezza di unfolding sul perimetro GUE/Poisson RP.
+
+## Re-discovery audit
+- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
+- **Cosa viene assorbito dal baseline**: la dipendenza dalla procedura di unfolding e attesa nei crossover finiti.
+- **Cosa resta Lab-specific**: il contratto row-aligned `candidate + sentinels`, con count grezzi e null prima della parola boundary.
+- **Separazione richiesta**: `two_reader_boundary_confirmed = []` sul perimetro all-window; `graph_only_residue = 0`; `scope_change_declared = local_window width promoted to perimeter`; `graph_baseline_audit = label shuffle + position shift + local-window stress`.
+
+## Claim Under Test
+> `RP_lambda_0.045` resta terzo incluso operativo quando il gate 09:21 viene ripetuto su size maggiori e local-window unfolding alternativi.
+
+## Question
+La candidate row `0.045` sopravvive quando la larghezza dell'unfolding locale cambia, oppure il boundary RP e ancora coordinata-dipendente?
+
+## Experiment Design
+- **Script riusato**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
+- **Runs**:
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5`
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11`
+- **Soglia preregistrata**: `observed_rate >= 0.75`, lift contro ogni null `>= 0.10`, p-value contro ogni null `<= 0.05`, stato `classical_intermediate`, pass su tutte le size e su ogni unfolding testato.
+- **Denominatori per size/mode**: observed `12`; label-shuffle `768`; position-shift `48`.
+
+## Results
+| local window | all-mode thresholded rows | state |
+|---:|---|---|
+| 5 | `RP_lambda_0.060` | candidate 0.045 cade; 0.060 passa solo in questa finestra |
+| 11 | `[]` | nessuna riga all-mode |
+
+### Candidate + Sentinels Counts
+| window | mode | size | lambda | observed | label null | label p | position null | position p | min lift | state |
+|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
+| 5 | global_mean | 160 | 0.045 | 9/12 | 303/768 | 0.013796 | 17/48 | 0.006140 | 0.355469 | pass |
+| 5 | global_mean | 192 | 0.045 | 12/12 | 287/768 | 0.000007 | 15/48 | 0.000001 | 0.626302 | pass |
+| 5 | local_window | 160 | 0.045 | 9/12 | 372/768 | 0.059037 | 24/48 | 0.072998 | 0.250000 | positive_lift_unthresholded |
+| 5 | local_window | 192 | 0.045 | 12/12 | 376/768 | 0.000190 | 20/48 | 0.000027 | 0.510417 | pass |
+| 5 | local_window | 160 | 0.060 | 9/12 | 357/768 | 0.044580 | 20/48 | 0.020559 | 0.285156 | pass |
+| 5 | local_window | 192 | 0.060 | 10/12 | 381/768 | 0.018062 | 18/48 | 0.001580 | 0.337240 | pass |
+| 11 | local_window | 160 | 0.045 | 6/12 | 337/768 | 0.441425 | 20/48 | 0.379769 | 0.061198 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.045 | 11/12 | 411/768 | 0.006303 | 24/48 | 0.003174 | 0.381510 | pass |
+| 11 | local_window | 160 | 0.060 | 9/12 | 382/768 | 0.070513 | 23/48 | 0.054871 | 0.252604 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.060 | 12/12 | 380/768 | 0.000215 | 15/48 | 0.000001 | 0.505208 | pass |
+
+Le sentinelle endpoint `0.030` e `0.820` hanno `0/12` observed in ogni size/mode e non entrano nel boundary.
+
+## Key Findings
+1. Verificato: `RP_lambda_0.045` non e all-window stable. Cade a N=160 sia con local_window 5 (`9/12`, p null massimi `0.072998`) sia con local_window 11 (`6/12`, p null massimi `0.441425`).
+2. Verificato: `RP_lambda_0.060` non e solo global-mean artifact nel perimetro window 5: passa local_window 5 su N=160 e N=192. Cade pero con window 11 a N=160 (`9/12`, label p `0.070513`, position p `0.054871`).
+3. Verificato: con window 11 nessuna riga passa `global_mean + local_window` su tutte le size. Il boundary non sopravvive come riga singola nel perimetro multi-window.
+4. Inferito dal perimetro: la coordinata regressiva mancante nel ciclo 09:21 era `local_window width`. La finestra locale non e parametro tecnico secondario: decide quale lambda puo essere chiamata boundary.
+
+## Verdict
+CONSTRAINT/FALSIFICATION
+
+Il claim "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable" cade nel perimetro 09:38. Non va salvato spostando il focus su `0.060`: anche `0.060` e window-sensitive. La formulazione corretta e: nel RP finito il boundary two-reader resta una risposta del triplo `(lambda, size, local_window)`, non una riga lambda cristallizzabile.
+
+## Bicono della scoperta
+- **Due radici**: lambda-boundary; smoothing-boundary.
+- **Singolare**: stessa riga candidata sotto cambiamento della larghezza locale.
+- **Invariante di passaggio**: raw counts + null p-value + all-size + all-window.
+- **Campo di possibilita**: possibile = progettare il boundary come curva in `(lambda, local_window, N)`; non-possibile = promuovere `0.045` o `0.060` come nucleo stabile senza dichiarare la larghezza locale.
+
+## Consecutio
+Riparare al nodo regressivo del perimetro: il prossimo ciclo deve trattare `local_window` come asse del boundary, non come opzione. Eseguire una matrice piccola `window={5,7,9,11}` x `N={160,192}` x candidate/sentinels e riportare una curva di persistenza per lambda; solo dopo tentare il rimbalzo Anderson 3D.
+
+## Ricadute pratiche
+ssp_value: yes. Lo strumento `tools/exp_rp_unfolding_sensitivity_audit.py` resta riusabile; il nuovo uso mostra che deve accettare esplicitamente matrici di `local_window` o essere wrapped da un runner di stress.
+
+## Telemetria
+- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
+- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY/RP seguita per contratto vivo del campo.
+- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
+- Run window 5 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`.
+- Run window 11 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`.
+- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
+- Nessun update del seme.
+- Nessuna promozione e nessun public sync.
+
+## Files
+- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`
+- Report: `tools/data/reports/agent_20260516_0938.md`

codex
Report scritto. Faccio un controllo leggero sul file e sui riferimenti generati; non aggiorno `latest.md` o il seme perché la richiesta chiedeva solo il deposito del report 09:38 e il risultato non va promosso.
exec
/bin/bash -lc "sed -n '1,260p' tools/data/reports/agent_20260516_0938.md" in /opt/MM_D-ND
 succeeded in 0ms:
# Agent Report - RP Candidate Local-Window Stress Gate
**Date**: 2026-05-16 09:38
**Piano**: 125
**Tension explored**: BOUNDARY (0.8)
**verdict**: CONSTRAINT/FALSIFICATION - `RP_lambda_0.045` non resta terzo incluso operativo quando il perimetro viene ristretto a candidate row + sentinels, size maggiori e unfolding locali alternativi. La riga che passa con local-window 5 e `0.060`; con local-window 11 non passa nessuna riga all-mode.
observables_registry: 1.0.0-2026-05-06
observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode, local_window]
**observable_contract**: claim=`RP_lambda_0.045` resta boundary solo se batte label-shuffle e position-shift su size maggiori e su finestre locali alternative; observable=two-reader raw-count threshold per lambda, size, unfolding mode e local_window; operator=stress del gate 09:21 con candidate row preregistrata e sentinelle; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`, size `160/192`, seed x k = `4 x 3`; non_possible=terzo incluso stabile se la candidate row cade in una finestra locale o se una sentinella prende il ruolo; not_tested=altre finestre locali, piu seed, N oltre 192, Anderson 3D, spettri sperimentali.

## Respiro fuori-tempo
- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY.
- **Dipolo / punto-zero**: boundary robusto / boundary dipendente dalla coordinata di smoothing. Punto-zero: la stessa riga lambda prima che la larghezza dell'unfolding locale scelga il confine.
- **Piano superiore**: topologia assiomatica del bordo; la finestra locale e un operatore di bordo, non una normalizzazione neutra.
- **Operatori laterali scelti**: boundary operator, filtrazione per scala locale, same-spectrum coordinate stress.
- **Contaminazione cognitiva**: CE-0022 metabolizzata dal campo vivo come vincolo anti-ritorno a Sturmian; YSN DeltaLink=`candidate boundary / smoothing-scale`; Cornelius gene=`WINDOW_WIDTH_IS_PERIMETER`: DICHIARA CANDIDATE, CAMBIA FINESTRA, NON SALVARE LA RIGA.
- **Proto-ipotesi**: il terzo incluso RP non e una lambda promossa dal ciclo precedente; e la classe di righe che resta all-size quando il bordo viene filtrato da piu larghezze locali.
- **Possibile/non-possibile**: possibile = trattare la larghezza locale come parametro fisico del boundary; non-possibile = cristallizzare `0.045` come nucleo RP stabile nel perimetro attuale.
- **Proiezione**: run separati con local_window `5` e `11`, size `160/192`, candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`.

## Aderenza alla direzione
- `relation`: `follows_direction`
- `why`: testa direttamente il confine RP indicato dal valutatore, con `RP_lambda_0.045` come candidate row e `0.060` come sentinella coordinata-sensibile.
- `not_drift`: non ritorna a phi, Sturmian, V_c o deposito locale; cambia solo size e larghezza di unfolding sul perimetro GUE/Poisson RP.

## Re-discovery audit
- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
- **Cosa viene assorbito dal baseline**: la dipendenza dalla procedura di unfolding e attesa nei crossover finiti.
- **Cosa resta Lab-specific**: il contratto row-aligned `candidate + sentinels`, con count grezzi e null prima della parola boundary.
- **Separazione richiesta**: `two_reader_boundary_confirmed = []` sul perimetro all-window; `graph_only_residue = 0`; `scope_change_declared = local_window width promoted to perimeter`; `graph_baseline_audit = label shuffle + position shift + local-window stress`.

## Claim Under Test
> `RP_lambda_0.045` resta terzo incluso operativo quando il gate 09:21 viene ripetuto su size maggiori e local-window unfolding alternativi.

## Question
La candidate row `0.045` sopravvive quando la larghezza dell'unfolding locale cambia, oppure il boundary RP e ancora coordinata-dipendente?

## Experiment Design
- **Script riusato**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
- **Runs**:
  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5`
  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11`
- **Soglia preregistrata**: `observed_rate >= 0.75`, lift contro ogni null `>= 0.10`, p-value contro ogni null `<= 0.05`, stato `classical_intermediate`, pass su tutte le size e su ogni unfolding testato.
- **Denominatori per size/mode**: observed `12`; label-shuffle `768`; position-shift `48`.

## Results
| local window | all-mode thresholded rows | state |
|---:|---|---|
| 5 | `RP_lambda_0.060` | candidate 0.045 cade; 0.060 passa solo in questa finestra |
| 11 | `[]` | nessuna riga all-mode |

### Candidate + Sentinels Counts
| window | mode | size | lambda | observed | label null | label p | position null | position p | min lift | state |
|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
| 5 | global_mean | 160 | 0.045 | 9/12 | 303/768 | 0.013796 | 17/48 | 0.006140 | 0.355469 | pass |
| 5 | global_mean | 192 | 0.045 | 12/12 | 287/768 | 0.000007 | 15/48 | 0.000001 | 0.626302 | pass |
| 5 | local_window | 160 | 0.045 | 9/12 | 372/768 | 0.059037 | 24/48 | 0.072998 | 0.250000 | positive_lift_unthresholded |
| 5 | local_window | 192 | 0.045 | 12/12 | 376/768 | 0.000190 | 20/48 | 0.000027 | 0.510417 | pass |
| 5 | local_window | 160 | 0.060 | 9/12 | 357/768 | 0.044580 | 20/48 | 0.020559 | 0.285156 | pass |
| 5 | local_window | 192 | 0.060 | 10/12 | 381/768 | 0.018062 | 18/48 | 0.001580 | 0.337240 | pass |
| 11 | local_window | 160 | 0.045 | 6/12 | 337/768 | 0.441425 | 20/48 | 0.379769 | 0.061198 | positive_lift_unthresholded |
| 11 | local_window | 192 | 0.045 | 11/12 | 411/768 | 0.006303 | 24/48 | 0.003174 | 0.381510 | pass |
| 11 | local_window | 160 | 0.060 | 9/12 | 382/768 | 0.070513 | 23/48 | 0.054871 | 0.252604 | positive_lift_unthresholded |
| 11 | local_window | 192 | 0.060 | 12/12 | 380/768 | 0.000215 | 15/48 | 0.000001 | 0.505208 | pass |

Le sentinelle endpoint `0.030` e `0.820` hanno `0/12` observed in ogni size/mode e non entrano nel boundary.

## Key Findings
1. Verificato: `RP_lambda_0.045` non e all-window stable. Cade a N=160 sia con local_window 5 (`9/12`, p null massimi `0.072998`) sia con local_window 11 (`6/12`, p null massimi `0.441425`).
2. Verificato: `RP_lambda_0.060` non e solo global-mean artifact nel perimetro window 5: passa local_window 5 su N=160 e N=192. Cade pero con window 11 a N=160 (`9/12`, label p `0.070513`, position p `0.054871`).
3. Verificato: con window 11 nessuna riga passa `global_mean + local_window` su tutte le size. Il boundary non sopravvive come riga singola nel perimetro multi-window.
4. Inferito dal perimetro: la coordinata regressiva mancante nel ciclo 09:21 era `local_window width`. La finestra locale non e parametro tecnico secondario: decide quale lambda puo essere chiamata boundary.

## Verdict
CONSTRAINT/FALSIFICATION

Il claim "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable" cade nel perimetro 09:38. Non va salvato spostando il focus su `0.060`: anche `0.060` e window-sensitive. La formulazione corretta e: nel RP finito il boundary two-reader resta una risposta del triplo `(lambda, size, local_window)`, non una riga lambda cristallizzabile.

## Bicono della scoperta
- **Due radici**: lambda-boundary; smoothing-boundary.
- **Singolare**: stessa riga candidata sotto cambiamento della larghezza locale.
- **Invariante di passaggio**: raw counts + null p-value + all-size + all-window.
- **Campo di possibilita**: possibile = progettare il boundary come curva in `(lambda, local_window, N)`; non-possibile = promuovere `0.045` o `0.060` come nucleo stabile senza dichiarare la larghezza locale.

## Consecutio
Riparare al nodo regressivo del perimetro: il prossimo ciclo deve trattare `local_window` come asse del boundary, non come opzione. Eseguire una matrice piccola `window={5,7,9,11}` x `N={160,192}` x candidate/sentinels e riportare una curva di persistenza per lambda; solo dopo tentare il rimbalzo Anderson 3D.

## Ricadute pratiche
ssp_value: yes. Lo strumento `tools/exp_rp_unfolding_sensitivity_audit.py` resta riusabile; il nuovo uso mostra che deve accettare esplicitamente matrici di `local_window` o essere wrapped da un runner di stress.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY/RP seguita per contratto vivo del campo.
- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
- Run window 5 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`.
- Run window 11 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`.
- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
- Nessun update del seme.
- Nessuna promozione e nessun public sync.

## Files
- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`
- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`
- Report: `tools/data/reports/agent_20260516_0938.md`

exec
/bin/bash -lc 'ls -l tools/data/rp_candidate_window_stress_20260516_0938_w5.json tools/data/rp_candidate_window_stress_20260516_0938_w11.json tools/data/reports/agent_20260516_0938.md' in /opt/MM_D-ND
 succeeded in 0ms:
-rw-r--r-- 1 root root  9730 May 16 09:42 tools/data/reports/agent_20260516_0938.md
-rw-r--r-- 1 root root 47343 May 16 09:40 tools/data/rp_candidate_window_stress_20260516_0938_w11.json
-rw-r--r-- 1 root root 47563 May 16 09:40 tools/data/rp_candidate_window_stress_20260516_0938_w5.json

exec
/bin/bash -lc "python - <<'PY'
from pathlib import Path
import json
for p in ['tools/data/rp_candidate_window_stress_20260516_0938_w5.json','tools/data/rp_candidate_window_stress_20260516_0938_w11.json']:
    data=json.loads(Path(p).read_text())
    print(p, data['summary']['thresholded_two_reader_all_mode_rows'], data['summary']['unfolding_sensitive_rows'])
PY" in /opt/MM_D-ND
 succeeded in 0ms:
tools/data/rp_candidate_window_stress_20260516_0938_w5.json ['RP_lambda_0.060'] ['RP_lambda_0.045', 'RP_lambda_0.075']
tools/data/rp_candidate_window_stress_20260516_0938_w11.json [] ['RP_lambda_0.045', 'RP_lambda_0.060', 'RP_lambda_0.075']

diff --git a/tools/data/reports/agent_20260516_0938.md b/tools/data/reports/agent_20260516_0938.md
new file mode 100644
index 0000000000000000000000000000000000000000..272e6f41995372b9b0d5ea9dd4d9d9cdf79ac495
--- /dev/null
+++ b/tools/data/reports/agent_20260516_0938.md
@@ -0,0 +1,104 @@
+# Agent Report - RP Candidate Local-Window Stress Gate
+**Date**: 2026-05-16 09:38
+**Piano**: 125
+**Tension explored**: BOUNDARY (0.8)
+**verdict**: CONSTRAINT/FALSIFICATION - `RP_lambda_0.045` non resta terzo incluso operativo quando il perimetro viene ristretto a candidate row + sentinels, size maggiori e unfolding locali alternativi. La riga che passa con local-window 5 e `0.060`; con local-window 11 non passa nessuna riga all-mode.
+observables_registry: 1.0.0-2026-05-06
+observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode, local_window]
+**observable_contract**: claim=`RP_lambda_0.045` resta boundary solo se batte label-shuffle e position-shift su size maggiori e su finestre locali alternative; observable=two-reader raw-count threshold per lambda, size, unfolding mode e local_window; operator=stress del gate 09:21 con candidate row preregistrata e sentinelle; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`, size `160/192`, seed x k = `4 x 3`; non_possible=terzo incluso stabile se la candidate row cade in una finestra locale o se una sentinella prende il ruolo; not_tested=altre finestre locali, piu seed, N oltre 192, Anderson 3D, spettri sperimentali.
+
+## Respiro fuori-tempo
+- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY.
+- **Dipolo / punto-zero**: boundary robusto / boundary dipendente dalla coordinata di smoothing. Punto-zero: la stessa riga lambda prima che la larghezza dell'unfolding locale scelga il confine.
+- **Piano superiore**: topologia assiomatica del bordo; la finestra locale e un operatore di bordo, non una normalizzazione neutra.
+- **Operatori laterali scelti**: boundary operator, filtrazione per scala locale, same-spectrum coordinate stress.
+- **Contaminazione cognitiva**: CE-0022 metabolizzata dal campo vivo come vincolo anti-ritorno a Sturmian; YSN DeltaLink=`candidate boundary / smoothing-scale`; Cornelius gene=`WINDOW_WIDTH_IS_PERIMETER`: DICHIARA CANDIDATE, CAMBIA FINESTRA, NON SALVARE LA RIGA.
+- **Proto-ipotesi**: il terzo incluso RP non e una lambda promossa dal ciclo precedente; e la classe di righe che resta all-size quando il bordo viene filtrato da piu larghezze locali.
+- **Possibile/non-possibile**: possibile = trattare la larghezza locale come parametro fisico del boundary; non-possibile = cristallizzare `0.045` come nucleo RP stabile nel perimetro attuale.
+- **Proiezione**: run separati con local_window `5` e `11`, size `160/192`, candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`.
+
+## Aderenza alla direzione
+- `relation`: `follows_direction`
+- `why`: testa direttamente il confine RP indicato dal valutatore, con `RP_lambda_0.045` come candidate row e `0.060` come sentinella coordinata-sensibile.
+- `not_drift`: non ritorna a phi, Sturmian, V_c o deposito locale; cambia solo size e larghezza di unfolding sul perimetro GUE/Poisson RP.
+
+## Re-discovery audit
+- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
+- **Cosa viene assorbito dal baseline**: la dipendenza dalla procedura di unfolding e attesa nei crossover finiti.
+- **Cosa resta Lab-specific**: il contratto row-aligned `candidate + sentinels`, con count grezzi e null prima della parola boundary.
+- **Separazione richiesta**: `two_reader_boundary_confirmed = []` sul perimetro all-window; `graph_only_residue = 0`; `scope_change_declared = local_window width promoted to perimeter`; `graph_baseline_audit = label shuffle + position shift + local-window stress`.
+
+## Claim Under Test
+> `RP_lambda_0.045` resta terzo incluso operativo quando il gate 09:21 viene ripetuto su size maggiori e local-window unfolding alternativi.
+
+## Question
+La candidate row `0.045` sopravvive quando la larghezza dell'unfolding locale cambia, oppure il boundary RP e ancora coordinata-dipendente?
+
+## Experiment Design
+- **Script riusato**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
+- **Runs**:
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5`
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11`
+- **Soglia preregistrata**: `observed_rate >= 0.75`, lift contro ogni null `>= 0.10`, p-value contro ogni null `<= 0.05`, stato `classical_intermediate`, pass su tutte le size e su ogni unfolding testato.
+- **Denominatori per size/mode**: observed `12`; label-shuffle `768`; position-shift `48`.
+
+## Results
+| local window | all-mode thresholded rows | state |
+|---:|---|---|
+| 5 | `RP_lambda_0.060` | candidate 0.045 cade; 0.060 passa solo in questa finestra |
+| 11 | `[]` | nessuna riga all-mode |
+
+### Candidate + Sentinels Counts
+| window | mode | size | lambda | observed | label null | label p | position null | position p | min lift | state |
+|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
+| 5 | global_mean | 160 | 0.045 | 9/12 | 303/768 | 0.013796 | 17/48 | 0.006140 | 0.355469 | pass |
+| 5 | global_mean | 192 | 0.045 | 12/12 | 287/768 | 0.000007 | 15/48 | 0.000001 | 0.626302 | pass |
+| 5 | local_window | 160 | 0.045 | 9/12 | 372/768 | 0.059037 | 24/48 | 0.072998 | 0.250000 | positive_lift_unthresholded |
+| 5 | local_window | 192 | 0.045 | 12/12 | 376/768 | 0.000190 | 20/48 | 0.000027 | 0.510417 | pass |
+| 5 | local_window | 160 | 0.060 | 9/12 | 357/768 | 0.044580 | 20/48 | 0.020559 | 0.285156 | pass |
+| 5 | local_window | 192 | 0.060 | 10/12 | 381/768 | 0.018062 | 18/48 | 0.001580 | 0.337240 | pass |
+| 11 | local_window | 160 | 0.045 | 6/12 | 337/768 | 0.441425 | 20/48 | 0.379769 | 0.061198 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.045 | 11/12 | 411/768 | 0.006303 | 24/48 | 0.003174 | 0.381510 | pass |
+| 11 | local_window | 160 | 0.060 | 9/12 | 382/768 | 0.070513 | 23/48 | 0.054871 | 0.252604 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.060 | 12/12 | 380/768 | 0.000215 | 15/48 | 0.000001 | 0.505208 | pass |
+
+Le sentinelle endpoint `0.030` e `0.820` hanno `0/12` observed in ogni size/mode e non entrano nel boundary.
+
+## Key Findings
+1. Verificato: `RP_lambda_0.045` non e all-window stable. Cade a N=160 sia con local_window 5 (`9/12`, p null massimi `0.072998`) sia con local_window 11 (`6/12`, p null massimi `0.441425`).
+2. Verificato: `RP_lambda_0.060` non e solo global-mean artifact nel perimetro window 5: passa local_window 5 su N=160 e N=192. Cade pero con window 11 a N=160 (`9/12`, label p `0.070513`, position p `0.054871`).
+3. Verificato: con window 11 nessuna riga passa `global_mean + local_window` su tutte le size. Il boundary non sopravvive come riga singola nel perimetro multi-window.
+4. Inferito dal perimetro: la coordinata regressiva mancante nel ciclo 09:21 era `local_window width`. La finestra locale non e parametro tecnico secondario: decide quale lambda puo essere chiamata boundary.
+
+## Verdict
+CONSTRAINT/FALSIFICATION
+
+Il claim "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable" cade nel perimetro 09:38. Non va salvato spostando il focus su `0.060`: anche `0.060` e window-sensitive. La formulazione corretta e: nel RP finito il boundary two-reader resta una risposta del triplo `(lambda, size, local_window)`, non una riga lambda cristallizzabile.
+
+## Bicono della scoperta
+- **Due radici**: lambda-boundary; smoothing-boundary.
+- **Singolare**: stessa riga candidata sotto cambiamento della larghezza locale.
+- **Invariante di passaggio**: raw counts + null p-value + all-size + all-window.
+- **Campo di possibilita**: possibile = progettare il boundary come curva in `(lambda, local_window, N)`; non-possibile = promuovere `0.045` o `0.060` come nucleo stabile senza dichiarare la larghezza locale.
+
+## Consecutio
+Riparare al nodo regressivo del perimetro: il prossimo ciclo deve trattare `local_window` come asse del boundary, non come opzione. Eseguire una matrice piccola `window={5,7,9,11}` x `N={160,192}` x candidate/sentinels e riportare una curva di persistenza per lambda; solo dopo tentare il rimbalzo Anderson 3D.
+
+## Ricadute pratiche
+ssp_value: yes. Lo strumento `tools/exp_rp_unfolding_sensitivity_audit.py` resta riusabile; il nuovo uso mostra che deve accettare esplicitamente matrici di `local_window` o essere wrapped da un runner di stress.
+
+## Telemetria
+- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
+- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY/RP seguita per contratto vivo del campo.
+- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
+- Run window 5 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`.
+- Run window 11 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`.
+- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
+- Nessun update del seme.
+- Nessuna promozione e nessun public sync.
+
+## Files
+- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`
+- Report: `tools/data/reports/agent_20260516_0938.md`

codex
Report scritto in [agent_20260516_0938.md](/opt/MM_D-ND/tools/data/reports/agent_20260516_0938.md).

Ho eseguito due stress run RP con size `160/192`, candidate `0.045`, sentinelle `0.030/0.060/0.075/0.820`, local-window `5` e `11`. Risultato principale: `RP_lambda_0.045` non regge il perimetro multi-window; `0.060` passa solo con window `5`, ma cade con window `11`. Quindi il report chiude come `CONSTRAINT/FALSIFICATION`, senza promozione e senza update del seme.

Dati generati:
- [rp_candidate_window_stress_20260516_0938_w5.json](/opt/MM_D-ND/tools/data/rp_candidate_window_stress_20260516_0938_w5.json)
- [rp_candidate_window_stress_20260516_0938_w11.json](/opt/MM_D-ND/tools/data/rp_candidate_window_stress_20260516_0938_w11.json)

Verifiche: `py_compile` dello script completato, run completati, API key paid non presenti nell’ambiente.
diff --git a/tools/data/reports/agent_20260516_0938.md b/tools/data/reports/agent_20260516_0938.md
new file mode 100644
index 0000000000000000000000000000000000000000..272e6f41995372b9b0d5ea9dd4d9d9cdf79ac495
--- /dev/null
+++ b/tools/data/reports/agent_20260516_0938.md
@@ -0,0 +1,104 @@
+# Agent Report - RP Candidate Local-Window Stress Gate
+**Date**: 2026-05-16 09:38
+**Piano**: 125
+**Tension explored**: BOUNDARY (0.8)
+**verdict**: CONSTRAINT/FALSIFICATION - `RP_lambda_0.045` non resta terzo incluso operativo quando il perimetro viene ristretto a candidate row + sentinels, size maggiori e unfolding locali alternativi. La riga che passa con local-window 5 e `0.060`; con local-window 11 non passa nessuna riga all-mode.
+observables_registry: 1.0.0-2026-05-06
+observables_used: [SR, SR2, L1, L2, triple_var, SR_local_rigidity, brody_q, berry_robnick_like_gue_weight, mean_ipr, observed_successes, label_shuffle_successes, position_shift_successes, Wilson intervals, binomial-tail p-values, min_lift_against_nulls, threshold_pass, unfolding_mode, local_window]
+**observable_contract**: claim=`RP_lambda_0.045` resta boundary solo se batte label-shuffle e position-shift su size maggiori e su finestre locali alternative; observable=two-reader raw-count threshold per lambda, size, unfolding mode e local_window; operator=stress del gate 09:21 con candidate row preregistrata e sentinelle; generator=H(lambda)=sqrt(1-lambda)D+sqrt(lambda)GUE; denominator=candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`, size `160/192`, seed x k = `4 x 3`; non_possible=terzo incluso stabile se la candidate row cade in una finestra locale o se una sentinella prende il ruolo; not_tested=altre finestre locali, piu seed, N oltre 192, Anderson 3D, spettri sperimentali.
+
+## Respiro fuori-tempo
+- **Combo**: A9 terzo incluso + QxG continuo/discreto + grafo/cut come lettore + tensione BOUNDARY.
+- **Dipolo / punto-zero**: boundary robusto / boundary dipendente dalla coordinata di smoothing. Punto-zero: la stessa riga lambda prima che la larghezza dell'unfolding locale scelga il confine.
+- **Piano superiore**: topologia assiomatica del bordo; la finestra locale e un operatore di bordo, non una normalizzazione neutra.
+- **Operatori laterali scelti**: boundary operator, filtrazione per scala locale, same-spectrum coordinate stress.
+- **Contaminazione cognitiva**: CE-0022 metabolizzata dal campo vivo come vincolo anti-ritorno a Sturmian; YSN DeltaLink=`candidate boundary / smoothing-scale`; Cornelius gene=`WINDOW_WIDTH_IS_PERIMETER`: DICHIARA CANDIDATE, CAMBIA FINESTRA, NON SALVARE LA RIGA.
+- **Proto-ipotesi**: il terzo incluso RP non e una lambda promossa dal ciclo precedente; e la classe di righe che resta all-size quando il bordo viene filtrato da piu larghezze locali.
+- **Possibile/non-possibile**: possibile = trattare la larghezza locale come parametro fisico del boundary; non-possibile = cristallizzare `0.045` come nucleo RP stabile nel perimetro attuale.
+- **Proiezione**: run separati con local_window `5` e `11`, size `160/192`, candidate row `0.045`, sentinelle `0.030/0.060/0.075/0.820`.
+
+## Aderenza alla direzione
+- `relation`: `follows_direction`
+- `why`: testa direttamente il confine RP indicato dal valutatore, con `RP_lambda_0.045` come candidate row e `0.060` come sentinella coordinata-sensibile.
+- `not_drift`: non ritorna a phi, Sturmian, V_c o deposito locale; cambia solo size e larghezza di unfolding sul perimetro GUE/Poisson RP.
+
+## Re-discovery audit
+- **Baseline noto piu vicino**: Rosenzweig-Porter, Brody interpolation, Berry-Robnik mixture, unfolding sensitivity nei crossover spettrali.
+- **Cosa viene assorbito dal baseline**: la dipendenza dalla procedura di unfolding e attesa nei crossover finiti.
+- **Cosa resta Lab-specific**: il contratto row-aligned `candidate + sentinels`, con count grezzi e null prima della parola boundary.
+- **Separazione richiesta**: `two_reader_boundary_confirmed = []` sul perimetro all-window; `graph_only_residue = 0`; `scope_change_declared = local_window width promoted to perimeter`; `graph_baseline_audit = label shuffle + position shift + local-window stress`.
+
+## Claim Under Test
+> `RP_lambda_0.045` resta terzo incluso operativo quando il gate 09:21 viene ripetuto su size maggiori e local-window unfolding alternativi.
+
+## Question
+La candidate row `0.045` sopravvive quando la larghezza dell'unfolding locale cambia, oppure il boundary RP e ancora coordinata-dipendente?
+
+## Experiment Design
+- **Script riusato**: `tools/exp_rp_unfolding_sensitivity_audit.py`.
+- **Runs**:
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w5.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 5`
+  - `python tools/exp_rp_unfolding_sensitivity_audit.py --out tools/data/rp_candidate_window_stress_20260516_0938_w11.json --sizes 160,192 --lambdas 0.03,0.045,0.06,0.075,0.82 --position-offsets 1,2,3,4 --local-window 11`
+- **Soglia preregistrata**: `observed_rate >= 0.75`, lift contro ogni null `>= 0.10`, p-value contro ogni null `<= 0.05`, stato `classical_intermediate`, pass su tutte le size e su ogni unfolding testato.
+- **Denominatori per size/mode**: observed `12`; label-shuffle `768`; position-shift `48`.
+
+## Results
+| local window | all-mode thresholded rows | state |
+|---:|---|---|
+| 5 | `RP_lambda_0.060` | candidate 0.045 cade; 0.060 passa solo in questa finestra |
+| 11 | `[]` | nessuna riga all-mode |
+
+### Candidate + Sentinels Counts
+| window | mode | size | lambda | observed | label null | label p | position null | position p | min lift | state |
+|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
+| 5 | global_mean | 160 | 0.045 | 9/12 | 303/768 | 0.013796 | 17/48 | 0.006140 | 0.355469 | pass |
+| 5 | global_mean | 192 | 0.045 | 12/12 | 287/768 | 0.000007 | 15/48 | 0.000001 | 0.626302 | pass |
+| 5 | local_window | 160 | 0.045 | 9/12 | 372/768 | 0.059037 | 24/48 | 0.072998 | 0.250000 | positive_lift_unthresholded |
+| 5 | local_window | 192 | 0.045 | 12/12 | 376/768 | 0.000190 | 20/48 | 0.000027 | 0.510417 | pass |
+| 5 | local_window | 160 | 0.060 | 9/12 | 357/768 | 0.044580 | 20/48 | 0.020559 | 0.285156 | pass |
+| 5 | local_window | 192 | 0.060 | 10/12 | 381/768 | 0.018062 | 18/48 | 0.001580 | 0.337240 | pass |
+| 11 | local_window | 160 | 0.045 | 6/12 | 337/768 | 0.441425 | 20/48 | 0.379769 | 0.061198 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.045 | 11/12 | 411/768 | 0.006303 | 24/48 | 0.003174 | 0.381510 | pass |
+| 11 | local_window | 160 | 0.060 | 9/12 | 382/768 | 0.070513 | 23/48 | 0.054871 | 0.252604 | positive_lift_unthresholded |
+| 11 | local_window | 192 | 0.060 | 12/12 | 380/768 | 0.000215 | 15/48 | 0.000001 | 0.505208 | pass |
+
+Le sentinelle endpoint `0.030` e `0.820` hanno `0/12` observed in ogni size/mode e non entrano nel boundary.
+
+## Key Findings
+1. Verificato: `RP_lambda_0.045` non e all-window stable. Cade a N=160 sia con local_window 5 (`9/12`, p null massimi `0.072998`) sia con local_window 11 (`6/12`, p null massimi `0.441425`).
+2. Verificato: `RP_lambda_0.060` non e solo global-mean artifact nel perimetro window 5: passa local_window 5 su N=160 e N=192. Cade pero con window 11 a N=160 (`9/12`, label p `0.070513`, position p `0.054871`).
+3. Verificato: con window 11 nessuna riga passa `global_mean + local_window` su tutte le size. Il boundary non sopravvive come riga singola nel perimetro multi-window.
+4. Inferito dal perimetro: la coordinata regressiva mancante nel ciclo 09:21 era `local_window width`. La finestra locale non e parametro tecnico secondario: decide quale lambda puo essere chiamata boundary.
+
+## Verdict
+CONSTRAINT/FALSIFICATION
+
+Il claim "`RP_lambda_0.045` e terzo incluso operativo unfolding-stable" cade nel perimetro 09:38. Non va salvato spostando il focus su `0.060`: anche `0.060` e window-sensitive. La formulazione corretta e: nel RP finito il boundary two-reader resta una risposta del triplo `(lambda, size, local_window)`, non una riga lambda cristallizzabile.
+
+## Bicono della scoperta
+- **Due radici**: lambda-boundary; smoothing-boundary.
+- **Singolare**: stessa riga candidata sotto cambiamento della larghezza locale.
+- **Invariante di passaggio**: raw counts + null p-value + all-size + all-window.
+- **Campo di possibilita**: possibile = progettare il boundary come curva in `(lambda, local_window, N)`; non-possibile = promuovere `0.045` o `0.060` come nucleo stabile senza dichiarare la larghezza locale.
+
+## Consecutio
+Riparare al nodo regressivo del perimetro: il prossimo ciclo deve trattare `local_window` come asse del boundary, non come opzione. Eseguire una matrice piccola `window={5,7,9,11}` x `N={160,192}` x candidate/sentinels e riportare una curva di persistenza per lambda; solo dopo tentare il rimbalzo Anderson 3D.
+
+## Ricadute pratiche
+ssp_value: yes. Lo strumento `tools/exp_rp_unfolding_sensitivity_audit.py` resta riusabile; il nuovo uso mostra che deve accettare esplicitamente matrici di `local_window` o essere wrapped da un runner di stress.
+
+## Telemetria
+- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
+- `python tools/dnd_scenario.py --best` eseguito: massimo discriminante locale su TRASCENDENZA_LIMITE; direzione BOUNDARY/RP seguita per contratto vivo del campo.
+- `python -m py_compile tools/exp_rp_unfolding_sensitivity_audit.py` completato.
+- Run window 5 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`.
+- Run window 11 completato: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`.
+- Worktree gia dirty prima del ciclo; ignorate modifiche non correlate.
+- Nessun update del seme.
+- Nessuna promozione e nessun public sync.
+
+## Files
+- Script: `tools/exp_rp_unfolding_sensitivity_audit.py`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w5.json`
+- Data: `tools/data/rp_candidate_window_stress_20260516_0938_w11.json`
+- Report: `tools/data/reports/agent_20260516_0938.md`

tokens used
163,764
Report scritto in [agent_20260516_0938.md](/opt/MM_D-ND/tools/data/reports/agent_20260516_0938.md).

Ho eseguito due stress run RP con size `160/192`, candidate `0.045`, sentinelle `0.030/0.060/0.075/0.820`, local-window `5` e `11`. Risultato principale: `RP_lambda_0.045` non regge il perimetro multi-window; `0.060` passa solo con window `5`, ma cade con window `11`. Quindi il report chiude come `CONSTRAINT/FALSIFICATION`, senza promozione e senza update del seme.

Dati generati:
- [rp_candidate_window_stress_20260516_0938_w5.json](/opt/MM_D-ND/tools/data/rp_candidate_window_stress_20260516_0938_w5.json)
- [rp_candidate_window_stress_20260516_0938_w11.json](/opt/MM_D-ND/tools/data/rp_candidate_window_stress_20260516_0938_w11.json)

Verifiche: `py_compile` dello script completato, run completati, API key paid non presenti nell’ambiente.
