FlowSharp

Ci siamo quasi

Verso FlowSharp 1.0.0: racconto sei mesi di sviluppo, il lavoro dei tester e le responsabilità di portare l'AI nei processi delle PMI.

FlowSharp: Ci siamo quasi. Illustrazione editoriale del Diario.

Un fornitore riceve su WhatsApp un messaggio firmato: c'è una pratica che lo riguarda, manca la data di consegna. Risponde come risponderebbe a un collega, «la settimana prossima, credo giovedì». L'assistente gli chiede di confermare. Lui conferma, la data entra nella pratica, lo storico scrive chi l'ha detta e da dove. Al terzo messaggio scrive «mi passa qualcuno?». L'assistente si ferma su tutti i canali insieme, il link viene revocato, la persona incaricata riceve una sola notifica.

È la v0.99.7, mercoledì 22. Un mese fa la pratica non usciva dall'azienda. Domenica scorsa usciva da un portale pubblico. Questa settimana risponde anche su WhatsApp e Telegram, e sa quando passare la mano.

Il giorno dopo, giovedì 23, il giorno con più commit della settimana: 98. Martedì erano state pubblicate le vulnerabilità di ottobre del runtime che usiamo, fra cui un'esecuzione di codice tramite risposte compresse e un aggiramento del controllo dei certificati. Il giorno prima erano risultate compromesse alcune autorità di certificazione. Giovedì la v0.99.8, un aggiornamento di sola sicurezza, era in demo. Nessuna funzione nuova, nessuna migrazione: si riscaricano le immagini e basta. Nella stessa giornata sono usciti il lotto «motore e concorrenza» e le correzioni dei tester.

Perché la 1.0.0 è una bandiera

FlowSharp è già usato. Alcuni clienti di Bizcom ci lavorano, e soprattutto lo usiamo noi, ogni giorno, per i nostri processi interni. Quegli usi hanno già sdoganato il prodotto: non è più una demo che mostro, è uno strumento su cui contiamo.

La 1.0.0 è un'altra cosa. È la versione che mi sono dato come soglia: la prima che posso consegnare a un'azienda che non mi conosce, senza essere io la garanzia. Il numero non cambia il codice. Cambia la promessa. Sotto la 1.0.0 ho scritto per mesi che non c'era retrocompatibilità, che la demo era una demo. Dopo, chi installa FlowSharp ha diritto di aspettarsi che quello che funziona oggi funzioni anche domani.

Per questo l'ultima settimana prima della soglia è stata quasi tutta sulle cose che un cliente non vede finché non gli servono. L'ondata C dell'audit dell'11 ottobre: le richieste degli interessati con cancellazione e rettifica tracciate, l'export dei propri dati dal Profilo, la spiegazione di ogni decisione presa dall'AI in una pratica, consultabile e stampabile, che resta leggibile anche quando il registro delle chiamate viene cancellato. I processi che decidono sulle persone: se il flusso lo dichiara, la pubblicazione rifiuta un percorso in cui l'AI porta da sola a un esito negativo senza una revisione umana. L'inventario dei flussi di dati generato dalla configurazione, le allerte di sicurezza, il registro delle violazioni con il conto delle 72 ore.

E una confessione, che nel changelog si chiama «errata». Una nota di luglio prometteva le variabili nei task più ampiamente di quanto fosse vero. La v0.99.13 di oggi le fa funzionare davvero e lo scrive: la nota era sbagliata. Preferisco dirlo io prima che lo scopra un cliente.

I numeri

Ho fatto i conti oggi, sul codice alla v0.99.13. Li metto qui senza aggettivi.

Misura Valore Cosa significa
Giorni dal primo commit 193 161 con almeno un commit: le pause sono state poche e quasi tutte volute
Commit 7.294 il 36% tra le 22 e le 6 del mattino. Non ne vado fiero, lo registro
Versioni nel changelog 328 dalla v0.1 del 16 aprile; ognuna con le sue note, nessuna saltata
Righe di codice sorgente 615.260 senza contare i test
Righe di test 498.210 quasi una riga di test per ogni riga di codice
Casi di test 24.092 girano tutti a ogni rito di rilascio, nessuno escluso
Modelli di database 118 con 254 migrazioni: la storia di ogni scelta sui dati è ricostruibile
Endpoint REST 571 tutto quello che fa l'interfaccia si può fare da un altro sistema
Worker in background 49 code, scadenze, eventi, pulizie: il lavoro che nessuno vede
Strumenti MCP per gli assistenti AI 35 un assistente esterno lavora dentro gli stessi permessi di una persona
Guida in-app circa 670 pagine 15 capitoli, in italiano e in inglese, aggiornati a ogni rilascio
Codici di sicurezza chiusi 169 ognuno con la sua nota nelle Novità
Campagne di audit 12 da aprile a oggi, più l'aggiornamento urgente di giovedì
Handoff scritti agli agenti di coding 61 dal 27 settembre, con 50 report di ritorno e 414 merge
Campi con l'aiuto contestuale 105 su 754 il numero che mi piace meno: è il prossimo lavoro

E un numero che non viene dal repository, ma dalle persone.

I tester esterni hanno prodotto cinque documenti di audit da circa 1.200 pagine ciascuno: seimila pagine di segnalazioni. Le abbiamo esaminate tutte, e tutte sono state corrette.

Il merito di quelle seimila pagine è loro. Hanno usato FlowSharp come lo userà un cliente, senza sapere com'è fatto dentro, e hanno scritto cosa non andava con una pazienza che io non avrei avuto. Solo questa settimana, due giri di segnalazioni, il 20 e il 22 ottobre, sono diventati un triage di 30 voci e 26 mie decisioni. Gran parte delle versioni della settimana nasce lì.

Sette principi, sei mesi dopo

Il 12 aprile, prima del primo commit, avevo scritto sette principi e una frase: «tra sei mesi voglio verificare quante ne ho tradite». I sei mesi sono passati.

La macchina a stati c'è, e i passaggi non ammessi restano non ammessi. Lo storico non si cancella: questa settimana abbiamo imparato persino a pseudonimizzare i dati di una persona che chiede la cancellazione senza toccare la struttura del processo. Persone, automazioni e AI stanno nello stesso flusso, e il ripiego verso la persona è diventato una regola del motore. Multi-tenant dal primo giorno, stesso codice per il cloud e per l'on-premise. n8n fa il lavoro di collegamento, adesso anche per WhatsApp e Telegram.

Uno l'ho mantenuto in ritardo, e l'ho già raccontato: gli eventi «partono davvero» solo da agosto. Uno è cresciuto più di quanto immaginassi: l'AI governata, che ad aprile era una riga e oggi attraversa ogni parte del prodotto, dal registro delle chiamate alla spiegazione delle decisioni. Tradito, per ora, nessuno. Lo scrivo con prudenza, perché il giudizio vero non è il mio.

La responsabilità

Questa è la parte che mi pesa, nel senso buono.

Le PMI italiane stanno per mettere l'AI nei processi. Molte lo faranno in fretta, con strumenti che muovono dati e non dicono a nessuno chi ha deciso cosa. FlowSharp vuole essere un'altra cosa: il posto dove il processo è scritto, l'AI ha un ruolo preciso, ogni decisione ha una spiegazione e una persona può dire «no». Se un'azienda ci mette dentro il suo processo ordini, le sue pratiche del personale, i suoi contratti, sta mettendo dentro il modo in cui lavora. Non è una responsabilità che si prende con leggerezza.

«Sapere il fatto nostro», per me, non vuol dire dire che siamo bravi. Vuol dire poter mostrare il lavoro: dodici campagne di audit, ventiquattromila casi di test che girano ogni volta, review a più giri prima di ogni merge, un aggiornamento di sicurezza in demo due giorni dopo l'avviso, e un changelog che quando sbaglia lo scrive. Il metodo è sempre lo stesso: io scrivo le decisioni, gli agenti implementano, un altro agente rivede, i tester provano, io decido di nuovo.

Quello che non so ancora

Nessun cliente pagante sta usando la 1.0.0, perché la 1.0.0 non c'è ancora. Il Metodo M.A.G., Measure, Automate, Grow, è scritto ma non è stato ancora validato sul campo da un'azienda che non sia la nostra. La scala non l'abbiamo misurata davvero: sappiamo come si comporta il motore nei nostri test, non con mille pratiche al giorno di un cliente vero. E 649 campi su 754 non hanno ancora il loro punto interrogativo.

Lo metto in fila perché è il lavoro dei prossimi mesi, non perché mi spaventi. Un prodotto che arriva alla 1.0.0 sapendo cosa non sa è un prodotto più onesto di uno che ci arriva convinto di sapere tutto.

Ci siamo quasi. Se hai seguito il diario fin qui, ti chiedo una cosa: qual è il primo processo che metteresti in mano a un sistema così, e cosa ti servirebbe vedere per fidarti?

Dove siamo

  • Licenza attivabile su ogni installazione, anche la Free: fatto, dall'11 ottobre.
  • Demo alla v0.99.12 da oggi; la v0.99.13 è interna e passa dal rito prima di arrivare alle persone.
  • Residui P0 dell'audit dell'11 ottobre: le tre ondate di correzioni sono uscite, l'ultima il 21 ottobre; quello che resta va chiuso prima della soglia, non dopo.
  • Residui della tappa sulle variabili e sui secret: registrati come lotto successivo, con i limiti dichiarati nelle Novità.
  • Aiuto contestuale ovunque: censimento di oggi, 754 campi; la decisione è darlo a tutti, nell'interfaccia, nel Flow Agent e negli strumenti MCP.
  • La prima installazione presso un cliente con licenza attiva: è la condizione che fa della prossima versione la 1.0.0.

Numeri della settimana

  • Commit: 339
  • Versioni: 10, da v0.99.4 a v0.99.13
  • Giorno più intenso: giovedì 23 ottobre, 98 commit e tre versioni
  • Giri di segnalazioni dei tester: 2, con 30 voci di triage e 26 decisioni
  • Campi censiti per l'aiuto contestuale: 754, di cui 105 già coperti
Argomentibuild-in-publicflowsharpverso-1-0-0numeriai-governataresponsabilità