{
  "report_file": "agent_20260508_2005.md",
  "marked_at": "2026-05-08T20:10:09.102662+00:00",
  "coherent": false,
  "flags": [
    {
      "lens": 3,
      "severity": "medium",
      "claim": "Verdict: \"CONSTRAINT on TRASCENDENZA_LIMITE / QPG_GAP_RATIO_DENOMINATOR_GATE\"",
      "evidence": "Il contratto osservabile dichiara esplicitamente not_tested=gap_ratio; l'esperimento usa finestre simboliche Sturmian, complexity/right-special/return-word/palindromic defect, non il gap_ratio o il denominator gate.",
      "suggestion": "Riformulare il verdict sul nodo testato: symbolic_grammar_boundary_gate. Se QPG_GAP_RATIO_DENOMINATOR_GATE deve restare nel claim, il prossimo ciclo deve includere gap_ratio come osservabile o dichiarare il ponte regressivo tra i due gate."
    },
    {
      "lens": 2,
      "severity": "low",
      "claim": "\"same_length_contiguous_shuffle conserva grammatica Sturmian locale almeno quanto l'allineato\" e \"misaligned e' piu' baseline-Sturmian dell'allineato nel rate aggregato high\"",
      "evidence": "Il confronto usa rate su denominatori diversi: 576/591 vs 503/564 e 583/590 vs 536/566. Qui il segnale assoluto non contraddice la direzione, perche' i non-zero sono 15 vs 61 e 7 vs 30, ma il report fonda la frase principalmente sulle percentuali.",
      "suggestion": "Nel prossimo ciclo riportare anche count grezzi non-zero, differenza di proporzioni con intervallo/binomial check, e possibilmente mutual information mode→zero_excess per evitare drift da denominatore."
    }
  ],
  "summary": "Il report e' sostanzialmente coerente sui dati visibili, ma rompe L3 nel verdict nominando un gate gap_ratio dichiarato non testato; L2 richiede solo rinforzo quantitativo."
}