# Agent Report - Vc Label-Preserving Swap Gate
**Date**: 2026-05-09 06:52
**Piano**: 98
**Tension explored**: TRASCENDENZA_LIMITE / V_c null regressivo
**verdict**: CONSTRAINT / FALSIFIED label-set sufficiency nel perimetro dichiarato
observables_registry: 1.0.0-2026-05-06
observables_used: [`event_type`, `vc_interp`, `r_floor`, `r_span`, `label_jaccard`, `acceptance_rate`] - osservabili domain-native, non canonici SR/SR2/L1/L2/triple_var
**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.

## Respiro fuori-tempo
- **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`.
- **Dipolo / punto-zero**: label-set preservato / ordine generativo preservato; punto-zero = sequenza binaria bilanciata prima della lettura spettrale, dove il conteggio di 1 e' identico ma il trasporto dell'ordine non e' deciso.
- **Piano superiore**: topologia della filtrazione. Il bordo non e' il numero `V_c`; e' il tipo di attraversamento prodotto dalla curva `r(V)` dopo avere imposto o fallito il vincolo sul label-set.
- **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.
- **Contaminazione cognitiva**:
  - **CE-0117 / KSAR**: reiterazione diretta del kernel emerso alle 06:37: stesso oggetto, nodo regressivo piu' profondo.
  - **PVI attack**: il rischio e' dichiarare label-preserving un null che non raggiunge il vincolo; per questo l'accettazione Jaccard entra nel denominatore.
  - **CE-0001**: il fallimento a N=144 nel run largo resta telemetria, non viene escluso.
- **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.
- **Proiezione**: misuro prima l'accettazione del null, poi l'evento. Il valore `V_c` entra solo dopo `event_type`, per non confondere il bordo minimo con il crossing.

## Claim Under Test
> 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.

## Question
Quando il null preserva davvero il label-set, il crossing diventa Sturmian oppure resta random-like?

## Experiment Design
- Script: `tools/exp_vc_label_preserving_swap_gate.py`.
- Hamiltoniana: diagonale `V * seq`, off-diagonal 1, autovalori tridiagonali.
- Curva: `r(V)` per `V=0.5..3.0`, step `0.01`.
- Eventi:
  - `floor_hit`: `r(V_min) < threshold`; `V_c` e' bordo della griglia.
  - `internal_cross`: parte sopra soglia e attraversa una volta.
  - `internal_multi`: attraversa piu' volte.
  - `no_cross`: non attraversa.
- Null:
  - `balanced_random`: stessa marginale 0/1 del riferimento.
  - `swap_label_surrogate`: parte da random bilanciato, scambia siti 0/1 e accetta il miglior candidato; il surrogate e' accettato solo se `label_jaccard>=0.75`.
- Denominatore grezzo run principale: `phi_sturmian=12` condizioni, `balanced_random=12`, `swap_label_surrogate=24`; surrogate accettati `15/24` righe evento, equivalenti a `5/8` sequenze surrogate.
- Telemetria: un run largo N={89,144}, 600 swap, non raggiunge il gate (`acceptance_rate=0.0`, mediana Jaccard 0.5714); il perimetro valido del verdict e' il deep run N=89 con 3000 swap.

## Results
Sintesi aggregata run principale:

| generator | conditions | floor_hit | internal_cross | internal_multi | internal_rate | vc_median | r_floor_median | r_span_median | label_jaccard_median | acceptance_rate |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| phi_sturmian | 12 | 0 | 12 | 0 | 1.0000 | 1.170751 | 0.651184 | 0.329315 | 1.000000 | 1.0000 |
| balanced_random | 12 | 0 | 8 | 4 | 1.0000 | 0.625061 | 0.534628 | 0.236926 |  |  |
| swap_label_surrogate | 24 | 1 | 11 | 12 | 0.9583 | 0.629162 | 0.546582 | 0.267419 | 0.750000 | 0.6250 |

Surrogate accettati soltanto (`label_jaccard>=0.75`):

| subset | rows | floor_hit | internal_cross | internal_multi | vc_median | r_floor_median | r_span_median |
|---|---:|---:|---:|---:|---:|---:|---:|
| accepted swap_label_surrogate | 15 | 1 | 8 | 6 | 0.597228 | 0.552247 | 0.267782 |
| failed swap_label_surrogate | 9 | 0 | 3 | 6 | 0.666607 | 0.540917 | 0.267055 |

Per soglia, surrogate accettati:

| r_threshold | rows | floor_hit | internal_cross | internal_multi | vc_median |
|---:|---:|---:|---:|---:|---:|
| 0.48 | 5 | 0 | 2 | 3 | 0.647448 |
| 0.50 | 5 | 0 | 3 | 2 | 0.597228 |
| 0.52 | 5 | 1 | 3 | 1 | 0.543247 |

Audit accettazione surrogate per fase:

| phase | trial0 Jaccard | trial1 Jaccard | accepted |
|---:|---:|---:|---:|
| 0.00 | 0.750000 | 0.750000 | 2/2 |
| 0.25 | 0.833333 | 0.833333 | 2/2 |
| 0.50 | 0.750000 | 0.666667 | 1/2 |
| 0.75 | 0.714286 | 0.666667 | 0/2 |

## Key Findings
1. **Verificato: il gate label-preserving viene raggiunto nel perimetro N=89.** Il deep run accetta `5/8` sequenze surrogate; sulle righe evento l'accettazione e' `15/24`, con mediana Jaccard `0.75`.
2. **Verificato: label-set alto non ricostruisce crossing Sturmian unico.** I surrogate accettati producono `8/15` internal_cross, `6/15` internal_multi e `1/15` floor_hit. Lo Sturmian produce `12/12` internal_cross e `0` multi/floor.
3. **Verificato: i valori restano random-like.** Nei surrogate accettati `vc_median=0.597228` e `r_floor_median=0.552247`; lo Sturmian ha `vc_median=1.170751` e `r_floor_median=0.651184`; il random bilanciato ha `vc_median=0.625061` e `r_floor_median=0.534628`.
4. **Verificato: il vincolo non e' uniforme sulle fasi.** Le fasi 0.00 e 0.25 raggiungono `2/2`; fase 0.50 raggiunge `1/2`; fase 0.75 raggiunge `0/2`. Il null label-preserving non e' ancora generatore stabile cross-phase.
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.

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

**CONSTRAINT on V_c null**: ogni confronto `V_c` deve riportare `event_type`, `label_jaccard` e accettazione del null. Un surrogate non accettato non entra come prova contro il claim; un surrogate accettato che produce `internal_multi` o `floor_hit` falsifica la sufficienza del label-set nel perimetro.

## Bicono della scoperta
- **Due radici**: label-set spettrale conservato . ordine Sturmian conservato.
- **Singolare**: sequenza binaria bilanciata prima del lettore spettrale, dove marginale e potenziale di gap sono indistinti.
- **Invariante di passaggio**: il crossing interno unico resta solo quando l'ordine generativo resta Sturmian; il label-set alto conserva parte del lettore ma non conserva il tipo di attraversamento.
- **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`.

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

## Auto-audit: source flags e 5 lenti
- **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_0637.md`, JSON `vc_label_preserving_swap_gate_20260509_0652_deep89.json`.
- **L1 hard constraint**: il verdict e' scoped a N=89; N>=144 resta non verificato con gate raggiunto.
- **L2 count grezzi**: riportati `12`, `24`, `15`, `5/8`, `8/15`, `6/15`, `1/15`.
- **L3 no silent patching**: il run largo fallito e le fasi non accettate restano nel report come telemetria/vincolo.
- **L4 edge cases**: a `r_threshold=0.48` i surrogate accettati non fanno floor-hit ma fanno `3/5` internal_multi; il problema non e' solo il bordo minimo.
- **L5 re-discovery vs discovery**: il gap labeling Sturmian e' baseline nota; il finding e' il gate regressivo che separa label-set come lettore e ordine come portatore.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` non presenti nell'ambiente.
- Verifica script: `python -m py_compile tools/exp_vc_label_preserving_swap_gate.py` completato senza errori.
- Run largo: `tools/data/vc_label_preserving_swap_gate_20260509_0652.json`, N={89,144}, 600 swap, `acceptance_rate=0.0`.
- Run principale: `tools/data/vc_label_preserving_swap_gate_20260509_0652_deep89.json`, N={89}, 3000 swap, `acceptance_rate=0.625`.

## Files
- Script: `tools/exp_vc_label_preserving_swap_gate.py`
- Data principale: `tools/data/vc_label_preserving_swap_gate_20260509_0652_deep89.json`
- Data telemetria: `tools/data/vc_label_preserving_swap_gate_20260509_0652.json`
- Report: `tools/data/reports/agent_20260509_0652.md`
