Pila
La sfacchinata che non volevo piu fare
Ogni volta che pubblicavo una release, copiavo il changelog, lo riformattavo per ogni piattaforma, cambiavo tono e lo postavo a mano in cinque posti. Prendeva venti minuti, lo facevo in modo disuguale, e il piu delle volte saltavo uno o due canali per pigrizia. s2p ("ship to posts") e stata la mia decisione che un computer dovesse farlo allo stesso modo ogni volta.
Come funziona la pipeline
Il trigger e una release GitHub pubblicata. Un workflow recupera le release notes, un LLM le riscrive nel giusto tono e nella giusta lunghezza per ogni canale, e il risultato e messo in coda per essere postato. Il tutto e una catena di piccoli passi noiosi, ed e proprio cio che la rende affidabile.
- Un webhook GitHub scatta quando pubblico una release.
- Le release notes sono riformattate per canale: corto e incisivo per uno, piu lungo e tecnico per l'altro.
- Ogni post e generato dalla stessa fonte di verita, perche i canali non divergano mai.
La lezione nelle parti noiose
La parte interessante non era l'LLM che riscrive del testo, era il cablaggio. Un'automazione affidabile ruota soprattutto attorno ai casi limite poco glamour: cosa succede se un canale e in panne, se la release non ha note, se un post fallisce a meta. Ho imparato a rendere ogni passo idempotente e a loggare forte, perche un'esecuzione a meta finita non riposti mai in silenzio due volte la stessa cosa ne lasci cadere un canale in silenzio. La parte IA erano il 20 percento facile. Il cablaggio degno di fiducia erano l'80 percento che ne ha fatto una cosa su cui mi appoggio davvero.
Lezioni apprese
- Automatizza le sfacchinate che salti sempre. La costanza e il vero guadagno, non il tempo risparmiato.
- Una sola fonte di verita (le release notes) tiene ogni canale a valle sincronizzato automaticamente.
- Il passo LLM e la parte facile. Trigger affidabili, retry e idempotenza fanno la differenza tra successo e fallimento.
- Logga forte. Un'automazione che non puoi osservare e un'automazione a cui non ti fiderai piu dal primo passo falso.
