# Agent Report - Vc Unit Boundary Audit
**Date**: 2026-05-09 14:57
**Piano**: 107
**Tension explored**: TENS_SCALE_TRASCENDENZA_LIMITE / TRASCENDENZA_LIMITE (0.6 / 0.9)
**verdict**: FALSIFIED as convergence-to-1-from-above in the observed fit-ready window
observables_registry: 1.0.0-2026-05-06
observables_used: [`unit_status`, `unit_crossing_N`, `below_unit_count`, `fit_ready_rows`, `denominator_state`, `best_model`] - osservabili domain-native, non canonici SR/SR2/L1/L2/triple_var.
**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.

## Respiro fuori-tempo
- **Prima impressione**: il bordo `V_c=1` non e' attrattore osservato; e' un taglio attraversato dal canale fit-ready.
- **Combo**: A2 confine det=-1 + A3 punto fisso come attrattore da falsificare + A9 terzo incluso + QxG continuo/discreto + grafo dei generatori + tensione `TENS_SCALE_TRASCENDENZA_LIMITE`.
- **Dipolo / punto-zero**: convergenza a 1 / attraversamento di 1; punto-zero = la riga fit-ready prima che il bordo unitario venga trattato come limite o come taglio.
- **Piano superiore**: grafo della conoscenza e bicono-dipoli. Il valore 1 e' nodo di bordo: decide quale arco puo' ricevere il claim di limite.
- **Operatori laterali scelti**: boundary operator, graph cut, fit come morfismo. Entrano per separare il bordo unitario dal modello numerico.
- **Contaminazione cognitiva**: CE-0001 / KSAR: reiterazione sul deposito 14:00 senza ricomputare spettri; CE-0117: cascata della possibilita, il claim di limite passa solo dove il bordo non e' attraversato; YSN DeltaLink: `fit-ready curve -> unit cut -> limit veto`.
- **Proto-ipotesi**: se una curva fit-ready attraversa `V_c=1` dentro la finestra osservata, il claim "converge a 1 dall'alto" cade su quel perimetro; il bordo unitario resta coordinata di taglio, non attrattore.
- **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.
- **Proiezione**: classifico ogni riga ammissibile come `all_above_unit`, `crosses_down_inside_window`, o `all_below_unit`, e calcolo `unit_crossing_N` per le righe che attraversano.

## Claim Under Test
> Nel perimetro fit-ready 14:00, il canale ordinato sostiene `V_c -> 1` come limite osservato dall'alto.

## Question
Il bordo `V_c=1` si comporta come attrattore della scala o come taglio attraversato dalle curve fit-ready?

## Experiment Design
- Nuovo strumento: `tools/exp_vc_unit_boundary_audit.py`.
- Input: `tools/data/vc_fit_model_gate_20260509_1400.json`.
- Output: `tools/data/vc_unit_boundary_audit_20260509_1457.json`.
- Perimetro atomico: 13 righe ammissibili del model gate, gia' filtrate da `denominator_state in {complete, contaminated}`.
- Operatore: per ogni riga ordino i punti `(N, V_c)`, conto i valori sotto 1, e interpolo il primo attraversamento del bordo unitario quando avviene tra due N consecutivi.
- Contratto osservabile-operatore: il ciclo misura il bordo unitario sul deposito 14:00; non misura nuovi N, non testa l'asintoto, non ripara il fit.

## Results

Indice globale:

| measure | value |
|---|---:|
| admissible rows audited | 13 |
| rows with any `V_c < 1` | 12 |
| `crosses_down_inside_window` | 9 |
| `all_below_unit` | 3 |
| `all_above_unit` | 1 |

Stati per classe generatore:

| generator_class | all_above | crosses_down | all_below |
|---|---:|---:|---:|
| reference_order | 0 | 3 | 0 |
| order_memory | 1 | 5 | 0 |
| periodic_closure | 0 | 1 | 2 |
| random_dispersion | 0 | 0 | 1 |

Canale ordinato, righe complete/contaminate:

| row | state | fit_ready/total | excluded | first V_c | last V_c | unit status | crossing N |
|---|---|---:|---:|---:|---:|---|---:|
| per_mode_best:reference_order:r0.48 | complete | 16/16 | 0 | 1.311 | 0.955 | crosses_down | 348.753 |
| per_mode_best:reference_order:r0.50 | complete | 16/16 | 0 | 1.191 | 0.879 | crosses_down | 276.876 |
| per_mode_best:reference_order:r0.52 | complete | 16/16 | 0 | 1.072 | 0.807 | crosses_down | 151.973 |
| per_mode_best:order_memory:r0.48 | complete | 48/48 | 0 | 1.432 | 0.893 | crosses_down | 315.760 |
| per_mode_best:order_memory:r0.50 | complete | 48/48 | 0 | 1.317 | 0.774 | crosses_down | 255.737 |
| per_mode_best:order_memory:r0.52 | complete | 48/48 | 0 | 1.218 | 0.688 | crosses_down | 188.585 |
| accepted_candidates:order_memory:r0.48 | contaminated | 273/279 | 6 | 1.474 | 1.069 | all_above | blank |
| accepted_candidates:order_memory:r0.50 | contaminated | 278/279 | 1 | 1.350 | 0.899 | crosses_down | 332.733 |
| accepted_candidates:order_memory:r0.52 | complete | 279/279 | 0 | 1.236 | 0.781 | crosses_down | 272.895 |

Primi attraversamenti del bordo:

| row | crossing N |
|---|---:|
| per_mode_best:periodic_closure:r0.48 | 105.734 |
| per_mode_best:reference_order:r0.52 | 151.973 |
| per_mode_best:order_memory:r0.52 | 188.585 |
| per_mode_best:order_memory:r0.50 | 255.737 |
| accepted_candidates:order_memory:r0.52 | 272.895 |
| per_mode_best:reference_order:r0.50 | 276.876 |
| per_mode_best:order_memory:r0.48 | 315.760 |
| accepted_candidates:order_memory:r0.50 | 332.733 |

## Key Findings
1. **Verificato: il claim `converge a 1 dall'alto` cade nel perimetro osservato.** 12/13 righe ammissibili hanno almeno un punto fit-ready sotto `V_c=1`.
2. **Verificato: il canale ordinato completo attraversa il bordo.** `reference_order` fa 3/3 attraversamenti; `order_memory` per-mode-best fa 3/3 attraversamenti; tutti con denominatore `complete`.
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.
4. **Verificato: `periodic_closure` e `random_dispersion` non salvano il limite.** Due righe `periodic_closure` e una `random_dispersion` sono gia' tutte sotto 1; il loro denominatore era contaminato e non appartiene al canale ordinato completo.
5. **Inferito: il nodo regressivo non e' scegliere un nuovo modello di fit.** Il bordo unitario va promosso a veto osservabile prima del claim di limite.

## Verdict
**FALSIFIED** nel perimetro osservato.

`V_c=1` non opera come limite osservato dall'alto sulle righe fit-ready 14:00. Opera come bordo attraversato. Il canale ordinato resta fittabile e lineare nel perimetro, ma proprio quel canale scende sotto 1: `reference_order` 3/3 e `order_memory` per-mode-best 3/3 attraversano il bordo dentro N={89,144,233,377}.

La formulazione valida diventa:

`V_c=1` e' un unit boundary audit del sottografo fit-ready; non e' attrattore verificato della scala nel perimetro 14:00.

## Bicono della scoperta
- **Due radici**: limite unitario / attraversamento unitario.
- **Singolare**: la curva fit-ready prima che `1` sia interpretato come attrattore o come taglio.
- **Invariante di passaggio**: la disponibilita del denominatore completo sopravvive; il claim di convergenza a 1 non sopravvive.
- **Campo di possibilita**: qui diventa possibile usare `V_c=1` come veto strutturale nei futuri fit; qui diventa non-possibile formulare `V_c(phi) -> 1` come claim osservato dall'alto su questo perimetro.

## Consecutio
Il prossimo ciclo che estende N deve partire dal veto unitario: se N piu' alti vengono calcolati, il claim non e' "converge a 1", ma "dopo l'attraversamento, la curva resta sotto 1, rientra, o cambia famiglia". Il denominatore da preservare e' `complete + unit_status`, non solo `fit_ready`.

## Auto-audit: source flags e 7 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_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`.
- **L1 hard constraint**: il verdict vale solo per le 13 righe ammissibili del deposito 14:00 e N={89,144,233,377}.
- **L2 count grezzi**: riportati 12/13 sotto 1, 9/13 attraversamenti, 1/13 sopra 1, 3/13 tutte sotto 1.
- **L3 no silent patching**: nessun nuovo spettro, nessun nuovo N usato come evidenza, nessuna modifica ai depositi 13:37/14:00.
- **L4 edge cases**: l'unica riga sopra 1 e' contaminata con 6 esclusioni; non chiude il claim hard.
- **L5 re-discovery**: il finding non ripete "V_c scende"; misura il bordo unitario come veto atomico.
- **L6 metabolismo cognitivo**: CE-0001, CE-0117 e YSN usati nella combo.
- **L7 possibile/non-possibile**: possibile = unit boundary audit; non-possibile = convergenza a 1 dall'alto nel perimetro osservato.

## Telemetria
- No API paid run: `ANTHROPIC_API_KEY` e `OPENAI_API_KEY` assenti nell'ambiente.
- Verifica script: `python -m py_compile tools/exp_vc_unit_boundary_audit.py`.
- 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`.
- Un tentativo di ricomputo esteso su N alti non ha prodotto deposito leggibile in tempo utile e non e' usato come evidenza.
- Git state: worktree gia' sporco da cicli precedenti; questo cycle aggiunge solo lo script unit-boundary, il JSON 1457 e questo report.

## Files
- Script nuovo: `tools/exp_vc_unit_boundary_audit.py`
- Data: `tools/data/vc_unit_boundary_audit_20260509_1457.json`
- Report: `tools/data/reports/agent_20260509_1457.md`
