Rosso falso e verde parziale: cosa misura davvero il tuo verificatore

Il tuo verificatore misura quello che dichiara? Tre casi datati — un rosso falso, un verde parziale, un bug solo-sandbox — e la domanda da fargli.

In breve. Un verificatore che sbaglia non mente sui dati: sbaglia perimetro — misura il niente e lo boccia, misura metà e certifica tutto, misura nella sandbox e parla del mondo. Tre casi datati dai miei sistemi, e la domanda che faccio a ogni verificatore prima di credergli: cosa non misuri?

Questo articolo è il seguito di Quando il verifier boccia i tuoi test verdi: lì il verde dipendeva dall'ambiente — 14 su 14 in locale, 7 su 14 dal verificatore — qui dipende dal perimetro, da cosa il verificatore misura e cosa no. E non parla della shell: il rosso che dipendeva dalle variabili d'ambiente è nel test rosso che dipendeva dalla shell. I tre casi li ho raccontati in breve nella mia guida a come verificare un agente AI in produzione: qui la versione per esteso.

Il 7 ottobre 2026: 5 verdetti «failed» sul niente

La content factory emette 5 verdetti «failed» di prodotto per uno script di verifica che nella release non esisteva: npm usciva con codice 1 senza output. Il verificatore funzionava — eseguiva il comando e ne leggeva l'uscita — ma verificava il niente, e lo bocciava con autorevolezza: 5 bocciature per 0 righe di verifica eseguite.

Il rosso era falso alla radice: non «il prodotto è rotto», ma «lo strumento di misura non c'era».

L'8 ottobre 2026: verde vero, perimetro dichiarato più largo

Il giorno dopo, il caso più sottile: 55 rilasci rilegati alla release live a3ed8f8 e 56 verifiche indipendenti passate, mentre i contratti dichiaravano copertura «SUFFICIENT» — ma circa 119 criteri su 212 sono di contenuto e il comando non li misura, stima per parole chiave. Verde vero, su un perimetro più stretto di quello dichiarato: 56 verdetti passati misuravano il codice e la forma, non i 119 criteri di contenuto.

Qui il verificatore non sbagliava: faceva onestamente il suo lavoro su metà campo, mentre la parola «SUFFICIENT» prometteva il campo intero.

Il 9 ottobre 2026: il bug che esisteva solo nella sandbox

Un worker conferma una causa — «npm ci: Missing @emnapi/core» — che esiste solo nel suo sandbox: fuori, npm ci passa in 4 secondi. Il rosso era reale dentro la sandbox e irreale fuori: la sandbox dell'agente non è il mondo, ma il verdetto non diceva dove valeva.

La cura è banale da dire e facile da saltare: riprodurre fuori dalla sandbox prima di credere al verdetto.

La domanda: cosa non misuri?

Tre casi, una sola domanda, in tre parti. Cosa misura — il comando, i criteri, i dati in ingresso. Cosa esclude — i criteri fuori perimetro, come i 119 di contenuto, vanno nominati, non taciuti. Dove vale — l'ambiente in cui il verdetto è stato ottenuto, perché fuori da lì è un'opinione.

Un verde senza perimetro dichiarato è un racconto, anche quando i numeri sono grossi. Un rosso senza oggetto misurato è rumore, anche quando esce con codice 1.

Fatti e limiti

FACT. Il 7 ottobre 2026 la content factory emette 5 verdetti «failed» per uno script di verifica assente nella release, npm uscito con codice 1 senza output.

FACT. L'8 ottobre 2026 55 rilasci sono rilegati alla live a3ed8f8 con 56 verifiche indipendenti passate, ma circa 119 criteri su 212 sono di contenuto e non misurati dal comando, stima per parole chiave.

FACT. Il 9 ottobre 2026 una causa «npm ci: Missing @emnapi/core» esiste solo nel sandbox del worker; fuori npm ci passa in 4 secondi.

INTERPRETATION. Un verificatore va giudicato anche su cosa non misura: è la mia regola dopo questi tre casi, non un dato misurato.

INTERPRETATION. Il perimetro dichiarato conta quanto il verdetto: «SUFFICIENT» su metà campo promette più di quanto prova.

Limiti: tre episodi dai miei sistemi, non una survey sui verificatori. I 119 criteri sono una stima per parole chiave, non una misura del comando.

Domande frequenti

Quando un verdetto «failed» è falso?

Quando lo strumento di misura manca o misura il vuoto: 5 bocciature per uno script che non esisteva nella release. Prima di credere a un rosso, controllo che il verificatore abbia misurato qualcosa.

Un verde può essere parziale?

Sì, quando il perimetro dichiarato è più largo di quello misurato: 56 verifiche passate non coprivano i circa 119 criteri di contenuto. Chiedo sempre cosa il verde esclude, non solo cosa include.

Perché la sandbox dell'agente non basta?

Perché un verdetto vale dove è stato ottenuto: una causa confermata nel sandbox spariva fuori, dove npm ci passava in 4 secondi. Riproduco fuori dalla sandbox prima di decidere.