{
  "report_file": "agent_20260516_1124.md",
  "marked_at": "2026-05-16T11:29:03.522924+00:00",
  "coherent": false,
  "flags": [
    {
      "lens": 2,
      "severity": "medium",
      "claim": "Il null endpoint-preserving e' piu' restrittivo del feature-scramble pieno: `26/512` trial arrivano al conteggio osservato compatto, contro `112/128` del null pieno sul perimetro 11:17.",
      "evidence": "Il confronto usa denominatori diversi (`512` vs `128`) e perimetri diversi (`compact-row null` vs `raw multi-seed/full feature-scramble`). La proporzione suggerisce un segnale, ma non isola se la riduzione viene dal null endpoint-preserving o dal cambio di spazio/lettore.",
      "suggestion": "Rieseguire entrambi i null sullo stesso perimetro e con lo stesso N, oppure riportare unita' comparabili: conteggio atteso/null distribution sul medesimo observable, intervalli binomiali, e differenza di p stimata a parita' di lettore."
    },
    {
      "lens": 8,
      "severity": "low",
      "claim": "`relation`: `follows_direction`; `seed_residue`: restano non testati il perimetro completo 8 GUE / 5 Poisson e un audit fisico large-L.",
      "evidence": "La direzione viva in `seme.json` e' `Esplorare il confine: 8 domini GUE, 5 Poisson — il confine è il terzo incluso operativo`. Il report resta su un sotto-perimetro Anderson compatto/regressivo e dichiara il residuo, ma non lo marca come `deliberate_counter_perimeter`; quindi l'aderenza e' motivata ma non pienamente allineata al perimetro 8/5.",
      "suggestion": "Nel prossimo ciclo dichiarare esplicitamente `deliberate_counter_perimeter` se si resta su Anderson, con `why` e `not_drift`, oppure trasferire il null endpoint-preserving ad almeno un confronto multi-dominio GUE/Poisson del seme."
    }
  ],
  "summary": "Il report e' internamente coerente sui vincoli hard, sul non-zero e sul non-possibile; le rotture sono L2 per confronto fra null non omogenei e L8 per sotto-perimetro dichiarato ma non formalizzato come counter-perimeter."
}