Mercoledì 4 novembre 2026
L’edizione di oggi
Millebit
AI · Software · QA
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

QA e affidabilità

LogiParity automatizza la riconciliazione tra API, export e UI per le consegne

Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.

Un CLI open source con licenza MIT confronta REST, Excel/CSV, schermate e PostgreSQL per trovare discrepanze che oggi si cercano a mano.

Illustrazione generata con l’intelligenza artificiale

Nel suo servizio di consegna, 50-60 autisti gestivano 2.500-3.000 consegne al giorno. Ogni ordine doveva combaciare su quattro fronti: bolla di carico, stato nell’app mobile, record nel sistema e resi di magazzino. Il controllo si faceva a mano. Se mancava un pezzo in uno dei quattro, scattava una multa al driver1.

La stessa frattura tra sistemi ricorre nel software: lo stesso ordine, pagamento o report vive nella UI, nell’API, nell’export contabile e nel database. I bug costosi si nascondono negli scarti tra fonti. Postman verifica le risposte delle API. Playwright testa le pagine. I contract test controllano la forma dei payload. Nessuno prende la stessa spedizione da API, schermo ed Excel e dice: qui è 101 centesimi, lì è 1001.

LogiParity è un CLI open source con licenza MIT che automatizza la riconciliazione. Legge record da REST API, file CSV e XLSX, tabelle della UI via Playwright e PostgreSQL in sola lettura. Aggancia i record per chiave. Segnala cosa manca, cosa è in più e quali campi differiscono1.

Tutto si descrive in YAML. La configurazione definisce entità, chiave di confronto e mappature dei campi per ciascuna sorgente. La prima sorgente dichiarata è il riferimento, una scelta esplicita di business. Le regole di confronto stanno vicino ai dati: enum per gli stati, money per gli importi, datetime con fusi orari e tolleranze dichiarate. Un esempio di demo usa una base URL locale, una pagina API con limite a 200 elementi e un file Excel chiamato shipments.xlsx con gli stessi campi dell’endpoint1.

Tre decisioni vengono dalla logistica. Il riferimento si dichiara, non si deduce. Il denaro si confronta in centesimi per evitare deriva da floating point e gli eccessi di decimali vengono rifiutati, a meno di una regola di arrotondamento esplicita. I timestamp senza offset sono errori finché la configurazione non indica il fuso per quella sorgente. Nessun tentativo di indovinare nelle ore ambigue del cambio ora legale1.

La demo inclusa simula un servizio con 55 driver e 2.750 ordini. Senza bug, il controllo non trova differenze ed esce con codice 0. Con i bug attivati, il confronto tra API e export Excel e CSV produce 3.741 rilievi. Il report apre con le cause: 14 righe mancano nell’export Excel, tutte al confine di paginazione. In CSV 1.833 orari di consegna sono anticipati di 6 ore. In Excel 1.823 mostrano lo stesso scarto. Su 34 ordini il payout autista differisce di −0,01 dollari, indice di una regola di arrotondamento diversa dal riferimento1.

Aggiungendo la schermata del dispatcher tramite Playwright emerge un quarto problema. Su 1.833 ordini consegnati, 57 appaiono ancora In transit. Gli altri 1.776 combaciano, segno di stato stantio o aggiornamento in ritardo1.

I totali si riconciliano con le stesse cause. Nell’Excel, il totale dei payout è minore di 409,55 dollari. Di questi, 409,21 derivano dalle 14 righe mancanti. I restanti 0,34 dall’arrotondamento. Nessuna parte resta senza spiegazione in quella somma. È un breakdown da portare diretto agli sviluppatori1.

I report escono in HTML, Markdown, JSON e JUnit. L’exit code 1 segnala discrepanze sui dati. Il codice 2 indica un errore di configurazione o di sorgente, così un server di staging traballante non imita un difetto nei dati in CI1.

Il pacchetto include scenari di disruption. Un evento descrive cosa succede, per esempio un autista che non si presenta o un guasto con ordini a bordo, e i controlli dopo la ripianificazione: nessun ordine perso, un solo assegnatario per ordine attivo, capacità rispettata, ETA aggiornate, clienti avvisati. Nella demo del guasto veicolo, sei check richiedono attenzione1.

Fonti

  1. I used to reconcile delivery waybills by hand. Now an open-source tool does it dev.to — QA · 3 novembre 2026
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Rilettura. Un passaggio toglie i tic della prosa generata da un modello, come i contrasti costruiti e le frasi che annunciano invece di informare, senza toccare fatti e fonti.
  • Fedeltà alle fonti. Un passaggio dedicato toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 7,9/10.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.