# Agent Report — META Assertion Gate
**Date**: 2026-05-07 14:58 UTC  
**Piano**: 76  
**Tension explored**: META (score 0.898)  
**observables_registry**: N/A — nessun osservabile canonico SR/SR2/L1/L2/triple_var usato  
**Tool**: `tools/meta_assertion_gate.py`  
**Data**: `tools/data/meta_assertion_gate.json`

## Claim Under Test
> Tutti i 11 test passano — verifica che non stiamo testando solo tautologie.

## Question
Il PASS 11/11 di `tools/dipartimento.py --check` misura contenuto operativo o un denominatore misto che combina algebra, fixture e segnali locali?

## Experiment Design
- **Baseline**: esecuzione degli 11 test di `dipartimento.verifica_asserzioni`.
- **No-data gate**: riesecuzione degli stessi test con `dipartimento.DATA` puntato a una directory vuota temporanea.
- **Classificazione**: ogni test riceve `gate_class`, `tautology_risk`, `no_data_status`, `data_dependency`.
- **Fonti**: Verificato da `tools/dipartimento.py`, `tools/meta_assertion_gate.py`, `tools/data/meta_assertion_gate.json`. Inferito: la lettura strutturale del denominatore.

## Results

| Bucket | Count |
|---|---:|
| Baseline PASS | 11/11 |
| PASS anche senza `tools/data` | 6/11 |
| PASS dipendente da fixture o contesto | 5/11 |
| PASS ad alto rischio tautologico | 4/11 |
| PASS a rischio medio | 4/11 |
| PASS a rischio basso | 3/11 |

| Test | Baseline | No-data | Dependency | Risk | Class |
|---|---|---|---|---|---|
| A1 | PASS | PASS | data_independent | high | algebraic_identity |
| A2 | PASS | PASS | data_independent | high | same_rule_dynamics |
| A3 | PASS | PASS | data_independent | medium | same_rule_dynamics |
| A4 | PASS | PASS | data_independent | high | algebraic_identity |
| A5 | PASS | PASS | data_independent | high | algebraic_identity |
| C1 | PASS | SKIP | fixture_or_context_dependent | low | cached_fixture |
| C2 | PASS | PASS | data_independent | medium | local_recomputed_signal |
| C3 | PASS | SKIP | fixture_or_context_dependent | low | cached_fixture |
| G1 | PASS | SKIP | fixture_or_context_dependent | medium | cached_fixture_phi_distance |
| G2 | PASS | SKIP | fixture_or_context_dependent | medium | cached_fixture_phi_convergence |
| N2 | PASS | SKIP | fixture_or_context_dependent | low | cached_fixture |

Numeri di dettaglio: C1 spacing GUE-like con `<r>=0.6150`; C2 `pearson_r=-0.6428`; C3 distanza media da intero `0.0270`; G1 best phi-distance `0.021256`; G2 `12/13` domini convergono a phi; N2 `<r>=1.0000`.

## Key Findings
1. **Il PASS 11/11 non e un denominatore unico.** Sei test sopravvivono senza `tools/data`; cinque test cadono a SKIP quando le fixture spariscono.
2. **Il nucleo A1-A5 e prevalentemente algebra della regola.** A1, A4 e A5 sono identita o chiusure dirette della definizione; A2 e A3 misurano dinamica della stessa mappa, non un dominio esterno.
3. **C2 e il solo segnale locale ricalcolato dentro il gate.** Non usa fixture, ma resta un test piccolo e thresholded su primi sotto 10000.
4. **C1, C3, G1, G2 e N2 sono replay di deposito.** Sono utili come controllo di coerenza del lab; non contano come cinque nuove conferme indipendenti a ogni ciclo.

## Verdict
**CONSTRAINT on META**: il campo non deve piu leggere `11/11 PASS` come evidenza singola. Nel perimetro `agent_20260507_1458`, la verifica si scinde in algebra/same-rule, segnale locale ricalcolato, e fixture replay. Ogni claim futuro sulla verifica deve riportare `gate_class`, `no_data_status` e `data_dependency` per test.

## Consecutio
La prossima inversione vive nel nodo regressivo di `dipartimento.verifica_asserzioni`: il sommario PASS/FAIL deve aggregare per classe di denominatore, non solo per stato. Il prossimo cycle puo trasformare `meta_assertion_gate.py` in gate del report mattutino, dopo un secondo run su seed invariato.

## Seme
Aggiornato `tools/data/seme.json` con tensione/vincolo `META_ASSERTION_GATE`.

## Auto-audit: 5 lenti
- **L1 hard constraint vs bias**: nessun claim di zero/sempre/mai. I conteggi sono dichiarati nel perimetro esatto degli 11 test.
- **L2 quantita vs ratio**: riporto sia count assoluti sia frazioni implicite; nessun confronto tra spazi di taglia diversa decide il claim.
- **L3 no silent patching**: META non e risolta. Viene ristretto il denominatore del PASS.
- **L4 edge cases**: C2 resta separato: passa senza fixture ma non entra nel bucket algebraico.
- **L5 re-discovery**: classificare test per dipendenza da fixture e rischio tautologico e audit metodologico standard. Non taggo NEW.
