01La pratica
Tutta la vertenza, a colpo d’occhio.
Ogni lavoratore ha la sua scheda: periodo, stato della vertenza, importi. I totali si ricalcolano mentre si lavora, senza fogli di calcolo paralleli.

Progetto 01 · Analisi documentale

Un ufficio vertenze sindacale ricostruiva a mano, busta per busta, quanto spettava ai lavoratori. ValOra legge i cedolini, li confronta con il contratto collettivo e produce conteggi e relazioni tecniche.
Non è un esercizio: con ValOra preparo le relazioni di vertenze vere, che arrivano all’avvocato che le segue.



Percorso guidato
Dal cedolino al documento per l’avvocato, con i punti che contano segnati sulle schermate. In fondo, la domanda che regge tutto il resto: perché questo numero?
01La pratica
Ogni lavoratore ha la sua scheda: periodo, stato della vertenza, importi. I totali si ricalcolano mentre si lavora, senza fogli di calcolo paralleli.

02La lettura
Mentre il modello legge il cedolino, la Dynamic Island in alto mostra lo stato del lavoro: scansione, conferma, esito. Chi usa l’app non resta davanti a una rotellina.
In produzione la lettura la fa Google Gemini, e un secondo controllo la rifà senza il modello (più sotto). In questa demo la lettura è simulata su un cedolino di fantasia.

03La verifica
Il visore apre la busta accanto alla griglia. Chi controlla non deve fidarsi: confronta. Qui marzo 2023 riporta 142,50 € di straordinario diurno e 188,00 € di indennità notturna, e il cedolino dice lo stesso.

04I controlli
Prima di consegnare, la scheda riassume i controlli: documenti, anomalie, calcolo, consegna. Un buco non si nasconde in fondo a una tabella: sta in cima, con il suo nome.

05Il documento
Un unico PDF con i conteggi di tutte le tabelle, la relazione sul caso specifico e il riepilogo finale. Qui una delle tabelle: anno per anno, competenze accessorie, giorni lavorati, media giornaliera, giorni di ferie e indennità che spettava.

Prova tu
In ValOra la domanda parte dalla cella: clic destro, «Perché questo dato?». Fai lo stesso sulla cella di agosto, e la risposta si apre qui sotto.
La risposta di EVE| Mese | Giorni lav. | Ind. lav. notturno 0470 | Ferie |
|---|---|---|---|
| Giugno | 21 | 40,00 | – |
| Luglio | 22 | 80,00 | – |
| Agosto | 20 | 2 | |
| Settembre | 19 | 20,00 | 3 |
06La spiegazione · EVE
Su una cella della griglia, EVE ricostruisce la strada del valore e mostra le prove: il rigo del cedolino ritagliato dal PDF, le voci sommate e quelle escluse, le decisioni prese a mano. Non ricalcola niente: legge quello che l’app ha conservato. Una spiegazione che rifà il conto sarebbe una seconda opinione, non una prova.
La somma delle voci torna con il totale stampato, e sotto c’è il rigo del cedolino ritagliato dal PDF: la carta accanto al numero.
Il cerchio tratteggiato è un passaggio che non c’è. Resta scritto: nasconderlo farebbe sembrare completa la catena.

Il metodo
Due letture che concordano possono sbagliare insieme. Per questo il controllo guarda la fonte e fa i conti, invece di chiedere un secondo parere allo stesso modello.
Google Gemini estrae dal cedolino voci, importi, giorni e periodo.
Un parser locale riapre il documento originale e confronta. Non vede il ragionamento del modello: vede la fonte.
La somma delle voci deve dare il totale stampato sulla busta. La prova resta salvata accanto all’importo.
La busta resta «non determinata», con il motivo scritto. Un risultato che risponde comunque sarebbe indistinguibile da uno buono.
Negli anelli, la stessa busta fac-simile del pannello EVE.
Chi decide
Quali voci entrano nel calcolo non è una scelta tecnica. A settembre l’avvocato ha stabilito che, in ogni anno, contano le voci variabili pagate almeno sei mesi su dodici: la regola è nel codice, e la scheda dice quale criterio è attivo. Quando la verifica sul documento trova una differenza, la propone: i dati cambiano solo quando una persona la conferma.
Un caso vero
L’8 settembre ho dato al riconoscitore del formato pagine che avrebbe dovuto rifiutare. Ne ha accettati 11 su 19. Il 17 settembre ho aggiunto un cancello: dopo la forma, qualcosa nel contenuto deve confermare la lettura. Rifatta la misura sullo stesso banco di 77 pagine.
Le 19 pagine di un altro formato: l’8 settembre 11 accettate per errore, dopo la correzione del 17 settembre nessuna.
Esperimento dell’8 settembre 2026. Conteggi ricalcolati dal CSV locale: 18 pagine del formato atteso e 19 di un altro formato. Nel primo gruppo 11 letture sono corroborate e 7 non corroborate; nel secondo, tutte le 11 letture accettate sono non corroborate. È un test diagnostico su un campione limitato, non una misura di accuratezza generale.
Correzione del 17 settembre: dopo il riconoscimento della forma serve una conferma dal contenuto. Sullo stesso banco di 77 pagine le accettazioni errate scendono a 0 in tutti i gruppi di altro formato (0 su 19, 0 su 13 e 0 su 11 nei tre gruppi); le pagine del formato atteso accettate passano da 18 a 16, e le due escluse non contribuivano a nessuna busta. Sull’intero archivio di quel formato le buste verificate restano 381 prima e dopo.
Fonte: dati-falsi-template-2026-09-08.csv e relativo referto nel progetto ValOra. Sono mostrati soltanto aggregati, senza documenti o dati personali.
I limiti
Un limite scritto vale quanto una funzione: dice dove serve ancora una persona.
Un mese senza busta resta scoperto e segnalato: una stima non diventa un dato.
Sui PDF testuali la verifica rilegge il documento al centesimo; sulle buste scansionate restano i controlli aritmetici e la revisione a occhio. I tre livelli non sono equivalenti, e non vengono presentati come uno solo.
L’assistente legale risponde solo sui documenti che ha in biblioteca; se non trova la fonte lo dice, invece di rispondere a memoria.
Per chi legge il codice
Il codice è in un repository privato: lo mostro volentieri in un colloquio.
e TypeScript, con Vite
PostgreSQL su Supabase: 61 migrazioni versionate, sicurezza a livello di riga su tutte le tabelle
serverless su Netlify
per la lettura dei documenti; ricerca semantica con pgvector su sentenze e accordi
automatici, end-to-end con Playwright, mutation test manuale sulle prove critiche, CI con GitHub Actions
relazioni da un’unica fonte
Parliamone
Capire dove funzionano. Verificare dove si fermano.