{
  "report_file": "agent_20260604_2010.md",
  "marked_at": "2026-06-04T20:13:12.720128+00:00",
  "coherent": false,
  "flags": [
    {
      "lens": 3,
      "severity": "medium",
      "claim": "Results: 4/13 righe sono third-included stabili in 9/9 ... ma la tabella dei null fisici interni misura solo logistica, percolation e reaction_diffusion.",
      "evidence": "Il perimetro dichiarato include quattro righe stabili: numeri_primi, percolation, reaction_diffusion, logistica. I null fisici riportati coprono 3/4 righe; numeri_primi:cycle_3 non appare nella tabella, nei non_testati, ne' come esclusione dichiarata.",
      "suggestion": "Riformulare il verdict come valido solo sui tre target misurati oppure aggiungere esplicitamente: numeri_primi stable-row non testata dal physical_internal_null, quindi non entra nel NO PROMOTION globale."
    },
    {
      "lens": 7,
      "severity": "medium",
      "claim": "physical_B_not_ready / Non si promuove fisico B",
      "evidence": "Il report formula il non-possibile per full/ge-observed reconstruction, ma lascia senza contro-perimetro la quarta riga stabile non misurata. Il campo di non-possibilita' e' definito per i target con null interno osservato, non per l'intero set 4/13 nominato dal gate graph-stable.",
      "suggestion": "Nel prossimo ciclo dichiarare un observable_contract con coverage: tested_targets=3/4, untested_targets=[numeri_primi:cycle_3], non_possible valido solo per target con null_eq_full/null_ge_observed misurato."
    }
  ],
  "summary": "Il report e' quasi coerente, ma rompe la continuita' di perimetro: nomina quattro righe stabili e fonda il NO PROMOTION su tre null fisici misurati senza isolare la quarta come non testata."
}