# Roadmap TieMeasureFlow — V3.0.0 → installazione a Tràfilo > Aggiornata al 2026-07-28. Aggiornare a ogni punto chiuso. ## Dove siamo La roadmap rev04 di aprile (Fasi 1-7, milestone M1/M2) è **superata dai fatti**: il sopralluogo del 28/07 ha prodotto un elenco di quindici punti concreti che è oggi il piano di lavoro. Buona parte delle vecchie Fasi 2 e 4 è dentro quei punti ed è già fatta; il resto è confluito o decaduto. La mappatura è in fondo, per non perdere il filo con i documenti di aprile. - Piano corrente: [`../../TieMeasureFlow_modifiche_2026-07-28.md`](../../TieMeasureFlow_modifiche_2026-07-28.md) - Stato di dettaglio: [`STATO_PROGETTO.md`](STATO_PROGETTO.md) - Piano rev04 (storico): [`../superpowers/plans/2026-04-17-rev04-master-roadmap.md`](../superpowers/plans/2026-04-17-rev04-master-roadmap.md) **Scadenza che comanda tutto: l'installazione on-premise a Tràfilo è prevista per settembre 2026.** ## I quindici punti | # | Punto | Stato | |---|---|---| | 1 | Memoria della produzione in corso | ✅ fatto | | 2 | Tipo di task esplicito | ✅ fatto | | 3 | Loop di misura e ripetizione | ✅ fatto | | 4 | Limite di tentativi prima del capoturno | ⛔ **fermo** su D-6, D-7, D-9 | | 5 | Avanzamento solo se in tolleranza | ✅ fatto | | 6 | Fermo linea e Fine produzione con effetto | ✅ fatto (innesto GAIA fermo su D-1, D-2) | | 7 | Gestione delle stazioni | ✅ fatto | | 8 | Tracciabilità obbligatoria | ✅ fatto | | 9 | Blocco dell'inserimento manuale | ✅ fatto | | 10 | Interfaccia operatore: sequenza e conferme | ✅ fatto | | 11 | Formattazione delle descrizioni | ✅ fatto | | 12 | Funzionamento senza internet | ✅ fatto | | 13 | Generazione task dalla scheda tecnica con l'AI | — fuori offerta (quotazione su D-8) | | 14 | Stabilità del layout | ✅ fatto | | 15 | Statistica separata dalla registrazione | ✅ fatto | ## Cosa resta, in ordine ### 1. Collaudo sul campo — *da fare adesso, non serve nessuna risposta* È il lavoro più urgente rimasto, ed è l'unico che non dipende da nessuno. Tredici punti sono in esercizio e **nessuno li ha percorsi su un tablet**. Le ricette `COLLAUDO-A` e `COLLAUDO-B` sono già sul sistema, con un utente `capoturno` (`scripts/seed_collaudo.py`). Da verificare, in quest'ordine: | Cosa | Come si vede che è giusto | |---|---| | Ciclo di misura (3) | Il conto alla rovescia sopravvive al cambio task, prosegue in rosso oltre lo zero, riporta alla misura | | Fuori tolleranza (5) | Con `12.00` sulla prima quota non si passa alla seconda finché il capoturno non autorizza, o finché non si rimisura dentro | | Tracciabilità (8) | Su `COLLAUDO-B` l'avvio non parte finché lotto e seriale non ci sono | | Inserimento manuale (9) | Su `COLLAUDO-B` il tastierino numerico non c'è affatto | | Sequenza (10) | La ricetta si apre sul primo task; un task lasciato a metà appare «Incompiuto 1/2» nella lista | | Senza rete (12) | Staccare la rete e percorrere login → ricetta → task → annotazione → statistiche → report, console aperta | | Layout (14) | **Da un monitor da scrivania**, non solo dal tablet: è lì che il difetto si vedeva | Il giro del punto 12 va fatto **ora**, perché la Content-Security-Policy è appena entrata in vigore: se una libreria avesse bisogno di un permesso non concesso, il sintomo compare adesso. ### 2. Punto 4 — appena arrivano le risposte Numero di tentativi prima del capoturno. Serve sapere **D-7** (quanti, e se uguali per tutte le ricette), **D-6** (password, PIN o badge) e **D-9** (se cambiare i parametri crea una nuova versione). Il resto dell'impianto è pronto: il blocco per fuori tolleranza e l'autorizzazione del capoturno esistono già, manca il contatore. Stima, a decisioni chiuse: **2-3 giorni**. ### 3. Innesto verso GAIA — fermo su D-1 e D-2 Avvio produzione, fermo linea e fine produzione hanno già lo stato e gli eventi; la fine produzione emette già il file di statistica. Manca solo il canale verso il gestionale, e non si può nemmeno disegnare finché non si sa **come** si parla con GAIA (D-1) e **da dove** (D-2). Stima, a protocollo noto: **1-2 settimane**, molto dipendente dalla risposta. ### 4. Installazione a Tràfilo — settembre | Cosa | Blocco | |---|---| | Macchina server, spazio disco | D-4 | | Immagini Docker portate in reparto, non repository da compilare sul posto | — | | Colonnina luminosa, se serve | D-5 | | Validazione rete e macchine con l'IT | D-4 | Nota: **la costruzione delle immagini richiede rete** (npm, apt, uv); è l'esecuzione a non richiederla. In reparto va portata l'immagine già costruita. ## Decisioni in attesa del cliente Da girare a Tràfilo tramite Menoncin. Le prime due e la D-4 hanno l'orizzonte di settembre; D-6 e D-7 bloccano lavoro che sappiamo già fare. | ID | Decisione | Blocca | Chi risponde | |---|---|---|---| | **D-1** | Protocollo del gestionale GAIA: servizi web, database condiviso, file? | innesto GAIA (punto 6) | IT Tràfilo + fornitore GAIA | | **D-2** | Rete e credenziali per raggiungere GAIA | come sopra | IT Tràfilo | | ~~D-3~~ | ~~Una app per stazione o una sola?~~ **Decisa il 28/07**: dati sul server, app di stazione su ogni PC | — | chiusa; validazione in D-4 | | **D-4** | Server: quale macchina, quanto spazio disco (database **e** disegni) | installazione | IT Tràfilo | | **D-5** | Cicalino: basta il suono del browser o serve una colonnina luminosa? | punto 3 (completamento) | Tràfilo | | **D-6** | Autorizzazione capoturno: password come oggi, o PIN / badge? Venti volte al giorno la password è attrito | punti 4, 5, 6 | Tràfilo | | **D-7** | Quanti tentativi prima del capoturno, e uguali per tutte le ricette? | punto 4 | Tràfilo | | **D-8** | Schede tecniche: quante, formato standard, conversione una-tantum o funzione permanente? | punto 13 e la sua quotazione | Tràfilo | | **D-9** | Cambiare i parametri di una ricetta (timer, tentativi) crea una nuova versione? | punti 3, 4 | noi, con conferma cliente | Una decisione già presa che va **confermata**: la migrazione 009 ha impostato `allow_manual_input = 1` su tutte le ricette esistenti, per conservare il comportamento in essere invece di irrigidire di colpo ricette già in uso. Va deciso ricetta per ricetta quali devono passare a solo calibro. ## Tech debt | Item | Priorità | Note | |---|---|---| | `components/barcode_scanner.html` dipende da `html5-qrcode`, mai caricata | Media | Codice morto: il componente non è incluso da nessuna parte e il lettore che l'operatore usa è un campo di testo. Da rimuovere, o da completare portando la libreria in `static/vendor/` | | Pagina `task_complete`: riga vuota segnalata in alcuni scenari | Media | Segnalazione di aprile mai riprodotta. Da verificare durante il collaudo, ora che il flusso è cambiato | | `.env` rename a convenzione spec (SERVICE_NAME, SERVICE_DOMAIN, API_KEY) | Bassa | Rinviato: impatta i deploy esistenti | | Header `X-API-Key` → `X-Api-Key` | Bassa | Breaking per i deploy esistenti | | Envelope risposta `{success,data,error}` | Bassa | Eventuale API v2 | | Test di carico a 20 tablet reali | Bassa | La capacità è dimensionata ma mai misurata sotto carico vero | I quattro test rotti tracciati nello snapshot V2.0.0 non risultano più: la suite è a 360 pass, 0 fail. ## Mappatura con la roadmap rev04 di aprile Per chi torna sui documenti di aprile e non ritrova le Fasi. | Fase rev04 | Che fine ha fatto | |---|---| | 1 — Stazioni per-tablet | Chiusa in V2.0.0, ampliata dal punto 7 | | 2 — Ruolo Capoturno + override | Assorbita dai punti 5 e 6: il ruolo `Supervisor` esiste e l'autorizzazione resta scritta sulla misura. L'override a token breve dipende da D-6 | | 3 — Editor ricetta a blocchi | Sostituita dal punto 2 (tipo di task dichiarato), che risolve il problema vero senza riscrivere l'editor | | 4 — Workflow operatore | Assorbita dai punti 3, 4, 10: timer e sequenza sono fatti, i tentativi sono il punto 4 | | 5 — Import GAIA | Diventata l'innesto del punto 6, ferma su D-1 e D-2 | | 6 — Deploy industriale (registry + Watchtower) | Ridimensionata: con una rete isolata l'aggiornamento automatico non ha senso. Restano immagini versionate portate a mano | | 7 — Hardening | Parzialmente assorbita: CSP, versioni congelate e impronte sono entrate col punto 12 | Le vecchie decisioni `D-0.x` sono confluite nelle `D-x` qui sopra: D-0.1→D-1, D-0.2→D-2, D-0.4→D-5, D-0.5→D-9, D-0.6→D-6. D-0.8 (nome del ruolo capoturno) è chiusa: si chiama `Supervisor`. D-0.7 (auto-logout) era già risolta.