Quanto costa, e chi lo tiene in piedi
Questo progetto chiede a chi lo legge di non fidarsi: ogni cifra del sito è calcolata da un dataset pubblico, e la query che l’ha prodotta sta in pagina. La stessa regola vale per i suoi conti. Qui c’è quanto costa far girare la macchina, misurato chiamata per chiamata, chi ci ha lavorato, e le tre strade per dare una mano — che non sono in ordine di importanza.
Quanto costa questo progetto
Il progetto usa un modello linguistico in tre punti: scrive gli approfondimenti del blog, estrae dai commi cosa una norma impone e a chi, e confronta le coppie di disposizioni del livello 4. Ogni risposta dell’API porta con sé i token consumati, e ogni chiamata passa da un unico punto che li registra: una riga per chiamata in data/consumi/, versionata nel repository. Il costo è stimato moltiplicando i token per il listino in vigore quel giorno, che sta in un file solo e porta la data da cui vale.
Il registro dei consumi è appena nato e non contiene ancora nessuna riga. Non c’è niente da mostrare: nessun totale, nessun grafico, nessuna media mensile. Riempirla di zeri darebbe l’impressione di una misura, e uno zero calcolato su niente non è una misura — è il modo in cui una pagina di trasparenza racconta la prima bugia.
Le righe cominceranno ad arrivare da sole: la prima sarà quella dell’approfondimento di domani, che la GitHub Action scrive e committa insieme all’articolo. Quando ce ne saranno abbastanza, qui compariranno i token per modello, la spesa per uso, il suo andamento nel tempo e quanto costa tenere acceso il progetto ogni mese. Fino ad allora questa pagina dice quello che sa, che è come funziona il conto — non il conto.
Quello che questa pagina non conta è il resto: il tempo delle persone, che è la voce più grossa e non ha un prezzo di listino, e le poche spese vive di dominio e pubblicazione. Il consumo dei modelli è la parte che si può misurare esattamente, ed è la ragione per cui è l’unica che trovate in cifre.
Chi ha contribuito
Il numero di commit non è il valore di un contributo. È un conteggio di quante volte qualcuno ha scritto nel repository, e su questo progetto il contributo che serve di più — un giurista che legge una segnalazione e dice che non è un conflitto — non produce nemmeno un commit. Questa classifica misura una cosa sola, e la dice: chi ha toccato il codice, e quante volte. Non leggetela come altro.
| Contributore | Commit | Token dichiarati | Costo dichiarato |
|---|---|---|---|
| riccardolinares | 56 | non dichiarati | — |
I token accanto a ciascun nome sono dichiarati, non misurati: li scrive chi contribuisce, con un comando che legge il file di sessione del proprio assistente e appende una riga al registro. Sono tenuti separati dalle chiamate che il progetto misura da sé, perché sono due gradi di certezza diversi e sommarli senza dirlo sarebbe un modo di far sembrare più solido un numero che non lo è.
Come contribuire
Tre strade, e sono davvero tre. Un progetto che dice «contributi benvenuti» e poi ha una sola porta — quella della pull request — sta chiedendo aiuto a una categoria sola di persone, che per un progetto sul diritto italiano è la categoria sbagliata.
Competenze tecniche
Il progetto è TypeScript in un monorepo: un motore di controlli che gira su un grafo normativo, un sito statico senza JavaScript obbligatorio, un server MCP. Serve saper leggere codice altrui più che scriverne di nuovo.
Da dove si comincia: CONTRIBUTING.md dice cosa il progetto non accetta — sono sei vincoli, e sono quelli che lo tengono in piedi — e cosa serve a un controllo nuovo per esistere. Le cose da fare sono descritte nelle issue con il modulo «Un lavoro da fare», che è lungo di proposito: problema, come si vede che è fatto, dove mettere le mani, come si verifica.
Prima di aprire una pull request devono essere verdi build, typecheck, test e e2e. L’ultimo comprende l’audit di accessibilità: una violazione WCAG 2.1 AA fa fallire la build come qualunque altra regressione.
Competenze legali o giuridiche
È il contributo che al progetto manca di più, e non è un modo di dire: senza, metà di quello che il motore trova non può essere pubblicato.
Il lavoro è leggere una segnalazione e dire se tiene. Un rinvio a una norma abrogata può essere recettizio — aver incorporato il testo richiamato una volta per tutte — e allora l’abrogazione successiva non lo tocca, e la segnalazione è un falso positivo. Lo stesso vale per una norma speciale che deroga a una generale, per una delegificazione autorizzata, per una disciplina transitoria. Sono distinzioni che una query non sa fare e una persona che conosce la materia fa in un minuto.
Ogni scheda ha un pulsante «Non è un conflitto»: apre una issue pubblica, senza registrazione, con i riferimenti già dentro. Anche una riga basta.
Quelle risposte non finiscono in un cassetto: alimentano il gold standard e cambiano la precisione misurata del controllo che ha prodotto la segnalazione. Un tipo di controllo pubblica solo sopra il 85% di precisione su almeno 30 revisioni umane: sotto quella soglia le sue segnalazioni restano nella coda interna, e se scende sotto dopo esserci arrivato sparisce dal sito. La soglia è applicata dal codice, non dalla disciplina di chi pubblica: non ha un pulsante nemmeno per chi mantiene il progetto. Le misure per intero.
Economicamente
Questo sito non ha pubblicità, abbonamenti, muri a pagamento o tracciamento, e non ne avrà. Non è una posa: sono le tre cose che cambierebbero quello che il sito può permettersi di scrivere.
Vuol dire che i soldi arrivano da un posto solo, che è chi lo usa. Le cifre qui sopra sono quello che si paga per tenerlo acceso, e sono quelle vere.