Home

Verdict Gate

L'IA propone. Le prove decidono.

Un cancello per le merge request su GitLab. Un agente di intelligenza artificiale propone una modifica al codice; un verificatore deterministico la misura e dà un verdetto con le prove. Nessuna modifica entra solo perché la pipeline era verde.

Il problema

Scrivere codice con l'intelligenza artificiale è diventato facile. Fidarsi del risultato no. Un agente apre una merge request che dice "ho sistemato il test instabile" o "ho aggiornato la libreria", la pipeline diventa verde, e qualcuno deve decidere se quel verde significa qualcosa.

Un esempio con i numeri. Un test che fallisce il 15% delle volte passa tre volte di fila nel 61% dei casi. Tre verdi di fila non dimostrano niente. Una nota di rilascio dice cosa è cambiato per tutti, non quale riga del tuo codice si romperà.

Cosa fa

Verdict Gate esegue un verificatore come lavoro della pipeline su ogni merge request, confronta la modifica con il ramo di partenza e scrive una sola riga nel registro del lavoro: la parola VERDICT seguita dal verdetto in formato leggibile da macchina.

Quattro esiti, sempre gli stessi: PASSA, NON PASSA, INCERTO, ROTTO. Insieme all'esito arrivano le prove: un file e una riga, un conteggio di fallimenti, una probabilità, un limite superiore. Cose che una persona può ricontrollare in un minuto. Quando il cancello è chiuso, la pipeline è rossa.

I cinque verificatori

  1. Test instabili. Rilancia il test cento volte prima e cento volte dopo la modifica, alternando i due lati così che il rumore della macchina colpisca entrambi allo stesso modo. Applica un test statistico esatto e un limite superiore al 95% sul tasso di fallimento residuo. Risponde: RISOLTO, NON RISOLTO, SERVONO PIÙ ESECUZIONI (e dice quante), NON RIPRODOTTO, ROTTO. Una guardia sul diff scopre i trucchi: asserzioni tolte o allentate, test saltati, tentativi ripetuti, tempi massimi alzati. Un RISOLTO con la guardia scattata diventa "risolto ma test indebolito" e richiede una persona. Una modalità di bisezione trova il commit che ha introdotto l'instabilità con la stessa statistica.
  2. Aggiornamenti di dipendenze. Confronta due versioni pubblicate di una libreria e le incrocia con le righe esatte del tuo codice che le usano: funzioni rimosse, pacchetti passati a soli moduli ES mentre tu li importi ancora alla vecchia maniera, importazioni profonde che non si risolvono più, requisiti di versione di Node. Il verdetto indica file e riga da correggere.
  3. Traduzioni. Controlla un catalogo tradotto contro l'originale: chiavi mancanti, frasi lasciate nella lingua di partenza, tag e segnaposto non conservati, interruzioni di riga, normalizzazione Unicode, testi troppo lunghi per lo spazio.
  4. Prestazioni. Esegue un comando di misura su entrambi i lati, applica un test non parametrico e un intervallo di confidenza sulla mediana, e si rifiuta di chiamare "regressione" il semplice rumore.
  5. Contratti API. Confronta un contratto OpenAPI prima e dopo e classifica ogni cambiamento: rompe chi lo usa, aggiunge soltanto, oppure è cosmetico.

Dove entra l'intelligenza artificiale

L'IA non decide mai. Scrive il rapporto. Un agente personalizzato e un flusso automatico della piattaforma agenti di GitLab Duo leggono il registro del lavoro, estraggono la riga del verdetto e pubblicano una nota sulla merge request con le prove copiate alla lettera, dicendo se serve una persona. Il flusso è formato da due agenti in un file YAML nel repository: uno può solo leggere (merge request, lavori falliti, registro), l'altro può solo scrivere la nota. Parte da solo a fine pipeline o quando viene menzionato il suo account di servizio.

Un server MCP espone gli stessi cinque verificatori come strumenti a qualsiasi agente, compresa la chat agentica di GitLab Duo.

Cosa ha girato davvero (25 ottobre 2026)

Tutto è visibile nel repository pubblico, nelle merge request e nella storia delle pipeline.

A chi serve

Come si usa

Si include il componente CI/CD nel file di pipeline del progetto. Il verificatore si sceglie con un'etichetta sulla merge request o dal nome del ramo. Ogni verificatore è anche uno strumento a riga di comando senza configurazione, senza chiave API e senza account: Python con la sola libreria standard, Node con il compilatore TypeScript come unica dipendenza reale per gli aggiornamenti. Lo schema JSON del verdetto è nel repository, con un test di conformità che gira sull'uscita di ogni verificatore.

Codice sorgente con licenza MIT su GitLab. Video dimostrativo di tre minuti.

Verdict Gate partecipa al concorso GitLab "Life After Code" (ottobre 2026).

Provalo nel browser

Qui sotto c'è la console interattiva: tre dei cinque verificatori (test instabili, aggiornamenti di dipendenze, traduzioni) si provano a mano, senza chiave e senza account, e restituiscono la stessa riga VERDICT che legge la pipeline.