Files
Adriano Dal Pastro e0f32fe8a9 docs: la scaletta di collaudo, in ordine e con i numeri già scelti
Tredici punti su quindici sono in esercizio e nessuno li ha percorsi. Finora il
collaudo era «provare le ricette COLLAUDO-A e B», che è un invito a scoprire da
soli in che ordine e con quali valori — cioè a perdere mezza giornata prima di
misurare qualcosa di utile.

Ordinata perché ogni prova prepari la successiva, e perché le due che vanno fatte
adesso vengano prima: il layout, che si vede solo da un monitor largo, e le
richieste di rete, ora che la Content-Security-Policy è appena entrata in vigore.

Due dettagli verificati sul codice prima di scriverla, perché mandavano a caccia
di pulsanti inesistenti: il timer non parte finché non si preme «Avvio
Produzione», che compare solo dopo il primo ciclo confermato — il primo pezzo è
attrezzaggio, non produzione; e una quota già presa si rimisura cliccandola in
alto, che è la via d'uscita dal blocco fuori tolleranza senza chiamare nessuno.

Detto anche cosa la scaletta non copre, incluso il fatto che su una VPS pubblica
staccare la rete non prova niente: si guarda dove vanno le richieste, e il giro
vero si fa in reparto.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 22:08:40 +00:00

13 KiB

Scaletta di collaudo — V3.0.0

Tredici dei quindici punti del 28/07 sono in esercizio e nessuno li ha ancora percorsi. Questa è la scaletta per farlo: ordinata in modo che ogni prova prepari la successiva, e scritta perché si possa spuntare riga per riga.

Per ogni riga: cosa fare, e come si vede che è giusto. Se qualcosa non torna, annotare il testo esatto dell'eventuale errore in console — non «dava errore».

Totale stimato: circa 90 minuti, di cui 30 sul solo punto 3 (il timer, che si misura aspettando).


0 · Preparazione (5 min)

Cosa Verifica
0.1 Aprire il sito e fare ricarica forzata (Ctrl+Shift+R) CSS e JS sono in cache per 7 giorni: senza questo si collauda la versione di ieri
0.2 Aprire la console del browser (F12) e lasciarla aperta per tutto il collaudo Molte prove si leggono lì, non a schermo
0.3 Verificare che esistano le ricette COLLAUDO-A e COLLAUDO-B Sono in /measure/select. Se una sessione precedente le ha sporcate: docker compose exec server uv run python /tmp/seed_collaudo.py --replace (cancella anche le misure fatte su di esse)

Credenziali del capoturno: capoturno / Collaudo2026! — da cambiare prima di qualunque uso reale.

Le ricette:

  • COLLAUDO-A — lotto obbligatorio, digitazione ammessa, intervallo 2 minuti. Cinque task: nota → misura (2 quote) → nota → misura (1 quota) → nota.
  • COLLAUDO-B — lotto e seriale obbligatori, solo calibro, una quota.

Le quote e i valori da usare (tutte con nominale al centro):

Quota Task Nominale Conforme Attenzione Fuori tolleranza
1 · Diametro esterno A, misura 1 10.00 10.00 10.30 12.00
2 · Spessore parete A, misura 1 25.00 25.00 25.30 27.00
3 · Lunghezza totale A, misura 2 100.00 100.00 100.70 105.00

1 · Layout — punto 14 (10 min) · da monitor da scrivania

Va fatto prima e non dal tablet: in verticale su un tablet quasi tutte le larghezze coincidono e il difetto non si vede. Serve uno schermo largo.

Cosa Verifica
1.1 Percorrere Ricette → apri una ricetta → Task → Disegno → Anteprima, e tornare indietro Il blocco di contenuto non cambia larghezza fra una schermata e l'altra
1.2 Su ognuna, guardare il bordo sinistro del contenuto e quello della barra in alto Sono allineati: il contenuto sta dentro la stessa cornice della navbar
1.3 Passare da una pagina lunga (che scorre) a una corta (che non scorre) Niente salta di lato di qualche pixel: lo spazio della barra di scorrimento è riservato sempre
1.4 Entrare in un task di misura e uscirne Stesso controllo: nessuno spostamento orizzontale
1.5 Admin → Utenti, Stazioni, Impostazioni; poi il proprio Profilo Utenti e Stazioni sono larghe, Impostazioni e Profilo strette — ma con gli stessi margini esterni
1.6 Dal tablet, entrare in un task di misura Il piede con «Fine ciclo misura» e il tastierino è visibile senza scorrere, anche quando la barra dell'indirizzo compare e sparisce

2 · Niente arriva dalla rete — punto 12 (15 min)

Da fare adesso, perché la Content-Security-Policy è appena entrata in vigore: se una libreria avesse bisogno di un permesso non concesso, il sintomo compare ora.

Attenzione al metodo. Il sistema è oggi su una VPS pubblica: staccare la rete significherebbe perdere anche il server, quindi non prova niente. La prova equivalente e più diretta è guardare dove vanno le richieste. Il giro a rete davvero staccata si fa in reparto, sull'installazione on-premise.

Cosa Verifica
2.1 Console → scheda Rete, spuntare «Disabilita cache», ricaricare Ordinando per dominio compare un solo dominio: tieflow.tielogic.xyz. Nessun cdn, jsdelivr, cloudflare, googleapis, plot.ly
2.2 Ripetere su: login, selezione ricetta, esecuzione task, editor annotazioni (/maker), dashboard statistiche Sempre un dominio solo. La dashboard è quella che carica Plotly, l'editor quella che carica Fabric
2.3 Aprire un task che ha un disegno PDF allegato Il disegno si vede. È la prova del worker di PDF.js: se cercasse la rete, tutto sembrerebbe a posto fino a questo momento
2.4 Con la console aperta su ogni pagina del giro Zero messaggi che iniziano con Refused to load… o …violates the following Content Security Policy directive. Se ce n'è uno, copiarlo per intero: dice quale permesso manca
2.5 Generare un report PDF dalle statistiche Il PDF esce. È generato sul server, non nel browser, ma vale la pena vederlo funzionare nel giro completo

3 · Le regole della ricetta — punti 8 e 9 (10 min) · COLLAUDO-B

Cosa Verifica
3.1 /measure/select, senza compilare lotto e seriale Sulla scheda di COLLAUDO-B il pulsante è spento e dice «Compila prima: lotto, seriale»
3.2 Compilare solo il lotto Il pulsante resta spento e ora chiede solo il seriale
3.3 Provare ad andare a mano su /measure/start/<id> di COLLAUDO-B senza seriale Rimanda alla selezione con il messaggio «Compila prima:». La regola non si aggira dall'indirizzo
3.4 Compilare entrambi e avviare Entra nel task
3.5 Guardare il tastierino I tasti numerici non ci sono affatto — non sono grigi, non ci sono. Restano «cancella» e «conferma»
3.6 Con un calibro USB collegato, prendere una lettura Il valore entra e si salva
3.7 (facoltativo, per chi vuole la prova dura) Provare a salvare un valore digitato aggirando lo schermo Il server risponde 422: la regola vive lì, non nella pagina

4 · Il primo ciclo e l'avvio produzione — punti 10 e 11 (10 min) · COLLAUDO-A

Da qui in avanti si lavora su COLLAUDO-A. Il timer non parte subito: prima si fa un ciclo completo, poi compare «Avvio Produzione». È voluto — il primo pezzo è l'attrezzaggio, non produzione.

Cosa Verifica
4.1 Selezione ricetta → COLLAUDO-A → lotto LOT-TEST-01AVVIA IN SEQUENZA Si apre il primo task (la nota «Preparazione del pezzo»), non l'elenco dei task
4.2 Leggere la nota «a sinistra» è in grassetto, le righe vanno a capo e la riga vuota si vede (punto 11)
4.3 Guardare i due pulsanti in alto a destra Sono «Lista task» e «Completato». Su una nota «Completato» è attivo
4.4 Premere «Completato» Passa al task 2, «Misura 1 — diametro e spessore»
4.5 Guardare il pulsante in basso a destra «Mancano 2 quote», grigio e non cliccabile
4.6 Misurare la quota 1 con 10.00 e confermare Verde (conforme). Il pulsante in basso ora dice «Manca 1 quota»
4.7 Prova chiave del punto 10: premere «Lista task» adesso, a metà Nel'elenco il task «Misura 1» porta «Incompiuto 1/2» con il bordo ambra. Gli altri non dicono niente
4.8 Premere «Visualizza singolo TASK» su quel task Ci si torna dentro, con la quota già presa
4.9 Misurare la quota 2 con 25.00 Il pulsante in basso diventa blu: «Fine ciclo misura»
4.10 Premerlo Compare il verde «Task successivo» (non un secondo «Completato»)
4.11 Guardare sotto il piede della pagina Compare il pulsante verde «Avvio Produzione»
4.12 Premere «Avvio Produzione» Parte il conto alla rovescia da 2 minuti. Da qui in avanti compaiono «Fermo linea» e «Fine produzione»

5 · Il fuori tolleranza — punto 5 (15 min)

La parte più importante del collaudo: fino a ieri questo gate era una modale che si poteva chiudere.

Cosa Verifica
5.1 Tornare su «Misura 1». Cliccare la quota 1 in alto per rimisurarla, e inserire 12.00 Si salva ed è rossa. La misura sbagliata resta a registro: è un dato, non un errore da nascondere
5.2 Provare a passare alla quota 2 e salvare un valore Rifiutato. Compare l'avviso che serve l'autorizzazione
5.3 Guardare «Completato» in alto È spento, e passandoci sopra dice «Serve l'autorizzazione del capoturno»
5.4 Ricaricare la pagina (F5) Il blocco è ancora lì. Ricaricare non è una via d'uscita
5.5 La via d'uscita senza capoturno: cliccare di nuovo la quota 1 e rimisurarla con 10.00 Il blocco si scioglie. È voluto: il calibro scivola, il pezzo si riposiziona, e chiamare il capoturno per questo sarebbe assurdo
5.6 Rifarlo: quota 1 con 12.00, e stavolta autorizzare con capoturno / Collaudo2026! Il blocco si scioglie e la misura resta segnata come autorizzata
5.7 Provare ad autorizzare con una password sbagliata Rifiutato, e il blocco resta
5.8 Provare ad autorizzare con un utente senza ruolo Supervisor (es. l'operatore stesso) Rifiutato: non basta essere collegati, serve il ruolo
5.9 Rimettere 10.00 sulla quota 1 e 25.00 sulla 2, chiudere il ciclo Si prosegue normalmente

6 · Il ciclo di misura — punto 3 (30 min, quasi tutti di attesa)

Cosa Verifica
6.1 Con il conto alla rovescia in corso, cambiare task Il tempo residuo prosegue, non riparte da 2 minuti
6.2 Ricaricare la pagina (F5) Idem: il tempo è lo stesso. Vive sul server, non nella pagina
6.3 Fermarsi su una nota e lasciare scadere l'intervallo A ~5 secondi dalla scadenza compare l'avviso e suona il cicalino
6.4 Non toccare niente Alla scadenza si viene portati al primo task di misura della ricetta, non a quello dove si era
6.5 Fare un ciclo completo: misura 1 (2 quote) → nota → misura 2 (quota 3, 100.00) → «Fine ciclo misura» Chiudendo il ciclo sull'ultimo task di misura l'intervallo riparte da 2 minuti
6.6 Ripetere ma chiudendo il ciclo sulla prima misura L'intervallo non riparte: il ciclo si chiude solo sull'ultimo task di misura
6.7 La prova più delicata: stare dentro un task di misura, con una quota già presa e una da prendere, e lasciare scadere l'intervallo Non si viene spostati. Il conteggio diventa rosso e prosegue oltre lo zero, mostrando il ritardo. Chi sta misurando va lasciato finire
6.8 Usare «Rimisura» dopo aver completato le quote Registra una seconda lettura dello stesso pezzo senza far ripartire l'intervallo. Girare il pezzo e rimisurare non è un pezzo nuovo

7 · Fermo linea e fine produzione — punto 6 (10 min)

Cosa Verifica
7.1 Dentro un task di misura, premere «Fermo linea» → credenziali capoturno Il conto alla rovescia si ferma
7.2 Ricaricare la pagina È ancora fermo: lo stato è sul server
7.3 Premere «Ripresa» → credenziali Riparte
7.4 Premere «Fine produzione» → credenziali La produzione si chiude
7.5 Sul server: docker compose exec server ls uploads/statistics/ C'è un file production_<id>_<data>.csv
7.6 Aprire il file Contiene tutte le misure della produzione, compresi i 12.00. Sulla riga autorizzata le colonne authorised_by e authorised_at sono valorizzate: il file mostra il guasto e la decisione
7.7 Aprire il file in Excel Le accentate si leggono, il separatore è quello configurato

8 · La statistica resta separata — punto 15 (5 min)

Cosa Verifica
8.1 Collegarsi con un utente che ha solo il ruolo MeasurementTec In barra non c'è la voce Statistiche
8.2 Percorrere tutto il flusso operatore guardando ogni schermata Nessun collegamento porta alla statistica, in nessun punto
8.3 Andare a mano su /statistics/dashboard 403: il ruolo non basta
8.4 Verificare che le misure ci siano comunque Con un utente Metrologist, le misure appena fatte compaiono in dashboard. Si registra sempre, si consulta a parte

Cosa annotare

Per ogni riga che non torna:

  1. Numero della riga di questa scaletta.
  2. Cosa è successo invece di quello che c'è scritto.
  3. Se c'è un errore in console, il testo esatto, per intero.
  4. Se è un problema di aspetto, uno screenshot e su quale schermo (tablet o monitor, e in che orientamento) — per il punto 14 è l'informazione che manca.

Cosa questa scaletta non copre

  • Il punto 4 (numero di tentativi prima del capoturno) non è implementato: è fermo sulle risposte del cliente (D-6, D-7, D-9).
  • Il cicalino è il suono del browser. Se serva una colonnina luminosa è D-5.
  • Il giro a rete davvero staccata si fa in reparto, sull'installazione on-premise: qui si prova l'equivalente (nessuna richiesta esce dal dominio).
  • Il carico con venti tablet insieme non è mai stato misurato.