RILASCI
Build & changelog
Storico delle build del tool con le modifiche introdotte in ciascuna. Ogni rilascio aggiorna il numero di build in topbar.
Build #73 MAJOR
22 luglio 2026 - 18:30
Modello canale end to end, calcolo OEE ufficiale in tutte le pagine, terminologia Clean room
- Modello dati: 9 canali, ognuno con blocco Rettifica (anelli, linee IR/OR) e blocco Clean room (cuscinetti singoli), collegati dal fattore di conversione per canale. Nuovo data/channels_v2.json; superato lo schema piatto CH1-5 / CH6-9. "Clean room" sostituisce "Assemblaggio" e "Collaudi" in tutta l'interfaccia.
- Calcolo OEE ufficiale ovunque: OEE = running / minuti di apertura, con running per differenza dalle perdite dichiarate nelle 7 categorie (nomi ufficiali SKF) e scarto convertito in minuti. Le dichiarazioni si sommano cosi' come sono: dismessa l'aggregazione a unione di intervalli in tutte le pagine e nelle matrici. Pareto, waterfall, alberi e trend ora danno gli stessi numeri a parita' di filtri.
- Plant overview: sinottico 9 canali con OEE IR/OR e versato per canale (grigio con asterisco dove mancano dichiarazioni), nuovo box Waterfall perdite (ponte dal 100% di apertura all'OEE in punti), Pareto a colonna piena con barra Totale, box Qualita' ridisegnato (Rettifica per canale + Clean room per operazione), nuovo box Bottleneck per canale e nuovo box WIP (struttura in attesa dati), alert su canali senza dichiarazioni, top 5 perdite con canale, blocco, step, linea e punti OEE. I box si possono riordinare col trascinamento.
- Channels overview: vista end to end a corsie convergenti - linee IR e OR sugli step 1-4 che si accoppiano nella colonna Anelli e proseguono in Clean room a tutta altezza; toggle "End to end / Per blocchi"; sinottico rimosso (vive in Plant overview).
- Losses overview: due colonne colorate Rettifica e Clean room con top 4 perdite, albero, "dove si perde" (per stazione / per banco) e trend per area; strip Top 5 perdite plant in testa; delta vs periodo precedente sulle card; avviso canali senza dichiarazioni.
- Stato del flusso: griglia canali per step 1-8 con corsie IR/OR convergenti, stessa grafica di Channels overview; parte in vista plant e segue i filtri.
- Nota: i valori per linea IR/OR, per stazione bottleneck e il WIP sono predisposti e si popoleranno coi dati del caricatore v02 (conferma IT del 22 luglio: scarti e perdite per linea estraibili).
Build #72
22 luglio 2026 - 10:45
Calcolo OEE ufficiale confermato e caricatore dati v02
- Registro punti aperti: PA-06 risolto - il calcolo OEE ufficiale e' confermato dalla tabella di maggio condivisa da Pompeo: OEE = Running/Manned, running per differenza dalle 7 categorie di perdita dichiarate in ore, tempi riferiti al bottleneck della linea piu' lenta tra IR e OR. PA-10 risolto - eventi Clean room classificati nelle 7 categorie, colonna facoltativa nel nuovo caricatore. Aggiornati PA-13 (target nel caricatore v02) e PA-14 (registrazione fermi avviata). Nuovo punto PA-16 con il caricatore v02 scaricabile.
- Caricatore dati v02: foglio nuovo "Ore di apertura" (minuti reali di apertura per turno e canale, il denominatore dell'OEE), colonna linea IR/OR su scarti ed eventi perdita Rettifica, colonna canale nei fogli Clean room, categorie di perdita coi nomi ufficiali SKF, eliminate le colonne non piu' necessarie.
- Channels overview: le matrici Rettifica e Assemblaggio mostrano ora tutti i 9 canali per blocco; i canali senza dati compaiono come IN ATTESA DATI.
Build #71
20 luglio 2026 - 17:30
Kit dati giugno
- Kit dati giugno 2026: un solo file Excel con 11 fogli per la raccolta completa del mese - delivery oraria con costo standard, scarti Rettifica (in anelli) e Collaudi (in prodotto confezionato), eventi di perdita, delivery per step, fermi delle stazioni bottleneck, anagrafica e target con la Tabella 4 di giugno da compilare, cost rate opzionale e tassonomia di consultazione. File vergine con istruzioni, formati attesi e riga di esempio per ogni foglio.
- Card in Punti aperti: il kit e' scaricabile dalla card in testa alla colonna dei punti, referente Sandro. I fogli Delivery per step e Fermi bottleneck sono i due tracciati nuovi: se arrivano compilati, giugno e' il primo mese completo.
Build #70
20 luglio 2026 - 16:05
Sezione Collaudi con lo stesso pattern della Rettifica
- Albero delle perdite Collaudi: la sezione Collaudi in Losses overview ora replica la struttura della Rettifica - perdite per componente OEE, categoria e sottocategoria in min/giorno, con Pareto Loss a fianco. Stesso pattern informativo, piu' facile da leggere. Colonne target e delta vuote: gli obiettivi per l'area Collaudi non sono ancora definiti.
- Pareto operazioni: resta sotto il Pareto Loss come dettaglio fisico per banco. Rimosse la tabella top operazioni e il breakdown mix, assorbiti dall'albero.
- Alberi collassati di default: sia in Rettifica sia in Collaudi le componenti A/P/Q partono chiuse, si aprono al click.
Build #69
20 luglio 2026 - 15:10
Eventi Collaudi classificati nelle 7 categorie di perdita
- Classificazione AI degli eventi Collaudi: i 178 eventi di maggio, finora senza categoria (ai collaudi il sistema registra un elenco unico senza sottocategorie), sono stati riconciliati con le 7 categorie di perdita dell'handbook: 123 Missing resources, 30 Resetting, 15 Speed loss & Minor Stops, 6 Process Adjustment, 4 D Time.
- Effetto in Losses overview: nella sezione Collaudi la colonna "Loss prevalente" e il mix per categoria ora mostrano i valori invece di "n.d.".
- Nota: maggio e' un mese di test per la classificazione; la conferma delle attribuzioni passa dalla sottocategoria a sistema in corso di valutazione con Oasis (punto 6 del registro).
Build #68
20 luglio 2026 - 12:55
Punto 2 - domanda spezzata in due
- Domanda 1: a cosa si riferiscono ritmi e forecast di Tabella 4 (versato a magazzino prodotto finito o altro).
- Domanda 2 (nuova): verifica che i valori di Tabella 4 siano corretti e aggiornati - se non riflettono la capacita' reale dei canali, correzione diretta nel foglio allegato.
Build #67
20 luglio 2026 - 12:20
Chiarezza sul box OEE in Plant overview
- Titolo semplificato: il box "Performance (OEE)" ora si chiama solo "OEE" - la Performance e' una delle tre componenti, non il nome giusto per l'indicatore complessivo.
- Info-tip ampliata: esplicitato che la componente Performance e' posta pari a 1 quando il dichiarato supera il 100% - per i canali con dati implausibili (vedi box "OEE per canale") il valore reale sara' noto solo dopo la conferma dei ritmi e dell'unita' di misura del versato.
Build #66
20 luglio 2026 - 12:01
Nuovo punto sulla planimetria dello stabilimento
- Registro Punti aperti - nuovo punto 8 "Planimetria dello stabilimento": richiesta a Sandro del disegno 2D della planimetria in formato DWG con export DXF, insieme alla corrispondenza tra i nomi delle aree nel disegno (WCM1, WCM2, CH4B...) e i canali CH1-CH9. Il file vettoriale servira' per la pagina del tool con la planimetria e i valori chiave di ogni area.
- Ordine del registro: i punti risolti ora sono raggruppati in fondo alla lista, dopo i punti aperti e in verifica.
Build #65
20 luglio 2026 - 10:30
Numerazione fissa dei punti aperti
- Numero stabile con i filtri: ogni punto mantiene il suo numero (la posizione nella lista completa) anche quando si filtra per referente - prima la numerazione ripartiva da 1 sui soli punti visibili, creando confusione nei riferimenti. Allineati anche i collegamenti "Punto N" nelle card delle assunzioni.
Build #64
20 luglio 2026 - 10:15
Revisione dei testi e dei fogli del registro Punti aperti
- Testi delle card rivisti punto per punto: linguaggio piu' diretto e sintetico; ogni enumerazione ora e' un elenco puntato invece che testo discorsivo. Riscritte in particolare le card del foglio delivery per step (con il beneficio in evidenza: Channels overview e Stato del flusso alimentate dai dati reali), del calcolo della qualita' (oggi cosi', con i dati richiesti cosi'), dei fermi bottleneck e le risposte dei punti risolti.
- Foglio delivery per step: tolta la riga d'esempio e i valori precompilati della colonna step - la colonna riporta solo l'indicazione "vostro codice/nome dello step".
- Foglio scarti con costo standard: intestazioni ripulite - colonna G "SC Unit_versato", riga di istruzioni con "costo standard (SC)".
Build #63
20 luglio 2026 - 09:45
Punti aperti come punto unico di raccolta dati
- Un file Excel su ogni punto che richiede dati: ogni card con una richiesta di compilazione ora ha il suo foglio scaricabile, un foglio solo per punto. Dove il foglio era gia' stato condiviso in passato (delivery per step, eventi perdita collaudi, tabelle target, Tabella 4) il file e' identico a quello gia' consegnato - stesse colonne, stesse istruzioni, stessi valori - cosi' non ci sono versioni divergenti in giro.
- Nuovi allegati: delivery per step, conferma ritmi e forecast (con colonne di conferma e correzione), tracciato scarti con costo standard, eventi perdita collaudi con i 733 eventi di maggio e la colonna categoria da compilare (valori ammessi in fondo al foglio), target ufficiali con la riga del rispetto consegne. Il tracciato dei fermi bottleneck era gia' presente.
- Etichetta del bottone: "Scarica il tracciato richiesto" per i punti che chiedono un export, "Scarica il foglio da compilare" per quelli da compilare a mano.
Build #62
17 luglio 2026 - 18:40
Ritocchi
- Punti aperti: "OTD" scritto per esteso - Rispetto consegne (On Time Delivery) - nella tabella dei target e nell'assunzione collegata.
Build #61
17 luglio 2026 - 18:20
Consolidamento del registro Punti aperti
- Filtro per referente: chip in testa alla pagina (Tutti / Pompeo / Sandro), default Tutti.
- Punti fusi e semplificati - da 14 a 10: "Canali molto sopra e molto sotto il ritmo" assorbito dalla card della Tabella 4 (stessa anomalia, stesso referente, con la nota di verifica del 17 lug); "Obiettivo di rispetto consegne" assorbito dai Target ufficiali (riga OTD nella stessa tabella); "Due misure del tempo perso" e "Anagrafica macchine" gia' assorbiti dal punto Fermi delle stazioni bottleneck. Ora: 7 punti attivi (3 Pompeo, 4 Sandro) e 3 risolti.
- Tabelle dei valori nelle card dei target: le card Target ufficiali mostrano le tabelle complete con i valori di default in uso e la colonna "valore corretto SKF" evidenziata in rosso come da compilare.
- Card bottleneck riscritta: regola esposta come affermazione, stima per unione dichiarata come temporanea, richiesta unica dell'export dei fermi delle stazioni bottleneck.
- Assunzioni riallineate: aggiornate le vie d'uscita delle Assunzioni 02 e 07 (export fermi bottleneck al posto dell'anagrafica banchi), 06 (agganciata alla conferma della Tabella 4, con avvertenza sulla Performance) e 08 (agganciata ai Target ufficiali). Ogni assunzione ora punta al punto del registro che la elimina.
Build #60
17 luglio 2026 - 17:40
Ritocchi
- Punti aperti: il chip della persona assegnata ora recita "Referente:" al posto di "in mano a:".
Build #59 MAJOR
17 luglio 2026 - 17:20
Recepimento del meeting con IT del 17 luglio
- Quality - respinti Collaudi contati in anelli (nuova Assunzione 10): il confronto col PowerBI qualita' ufficiale ha mostrato che i nostri conteggi riconciliano al 98% (scarto maggio 13.244 anelli ufficiali vs 13.038 nostri; canale 3 al decimale: 21,2% vs 21,23%) solo contando i respinti dei collaudi come anelli. Adottato il conteggio in anelli con conversione a fattore 2: Q plant maggio 89,0%, allineata all'ufficiale.
- Durata reale dei turni: risposta ricevuta: turni 1 e 2 valgono 450 minuti (30 di mensa), il turno 3 vale 480 pieni. Il modello ora usa le durate reali per turno: eliminata l'assunzione dei 480 minuti fissi, primo punto del registro risolto per risposta ricevuta.
- CH5, CH7 e CH9 esclusi dal monitoraggio di dettaglio: risposta ricevuta: CH7 e CH9 non hanno PaperEdge, CH5 lo ha da poco con dati incompleti. Esclusi da disponibilita' e performance di stabilimento (i loro turni senza eventi valevano un finto 100%); nei grafici per canale compaiono in grigio con la nota "non in PaperEdge". Il versato resta nei totali (dato reale dal gestionale).
- OEE plant maggio: 73,5% (disponibilita' 82,5%, performance 100% col tetto, qualita' 89,0%). La performance senza tetto e' al 110,6%: il canale 1, che viaggia al 160% del ritmo fornito, e' cio' che tiene alto l'aggregato - la verifica e' nel registro, in mano a Operations.
Registro Punti aperti
- Referenti nominali: ogni punto e' ora in mano a una persona precisa (chip "in mano a" accanto all'owner).
- Nuovo punto - Fermi delle stazioni bottleneck: la regola di stabilimento riferisce il tempo perso al bottleneck del canale (due linee per canale, anello interno e anello esterno, ciascuna col suo bottleneck). Richiesto l'export dei fermi delle sole stazioni bottleneck con tracciato Excel allegato.
- Card riscritte: "Conferma dei ritmi e dei forecast" ora mostra la Tabella 4 a fianco del versato reale di maggio (canale 1 a +82% sul forecast, quasi tutti gli altri sotto); "Calcolo OEE ufficiale" aggiornata (file di calcolo dell'industrial engineer, richiesta di confronto formula alla mano); "Calcolo della qualita'" e "Foglio delivery per step" passano in verifica con lo stato delle attivita' in corso lato SKF (valorizzazione scarti nel PowerBI, ripassi tracciati via DMC con estrazione in carico a IT e Oasis).
- Tre punti risolti il 17 luglio: durata netta del turno, copertura dei canali 5/7/9, copertura delle dichiarazioni (in rettifica le perdite sono stimate dall'operatore a fine turno; nuovo sistema di quadratura in prova). Restano in fondo alla pagina con la risposta scritta dentro.
- Pulizia delle card: rimosse le sezioni "Cosa sblocca"; testi rivisti in ottica di richiesta neutra.
Build #58
17 luglio 2026 - 12:55
Punti aperti e perimetro
- Nuovo punto aperto - Target ufficiali di perdita e OEE: i semafori del tool confrontano i dati reali con obiettivi di default scelti da noi, perche' le colonne "valore corretto SKF" delle tabelle target sono rimaste vuote. Aggiunto il punto 12 al registro con la richiesta di compilazione.
- Cost Deployment fuori perimetro fase 1: badge nel menu cambiato da "demo" a "fase 2" su tutte le pagine, per chiarire che la vista in euro non e' alimentata e non rientra nell'ambito attuale.
Build #57 MAJOR
17 luglio 2026 - 12:45
Nuova pagina Punti aperti
- Punti aperti: nuova pagina, prima voce del menu. Registro dei 12 punti da chiudere per un calcolo preciso di OEE e qualita' e per un tool completamente alimentato, ordinati per priorita'. Ogni punto ha contesto in linguaggio semplice, domanda esplicita, owner (SKF/Jopex), stato con semaforo e cosa si sblocca rispondendo. Dove il punto nasce da un campo richiesto e rimasto vuoto, la frase e' evidenziata. Contatori di avanzamento in testa (aperti / in verifica / risolti); i punti risolti restano in fondo con la data. Dati in
data/punti_aperti.json.
- Colonna Assunzioni attive: accanto ai punti, le 9 assunzioni del modello lette da
assumptions.json: contesto e perche', effetto sui numeri, e collegamenti incrociati ai punti aperti che una volta chiusi le eliminano.
- Allegato anagrafica macchine: foglio Excel precompilato da scaricare dalla card dedicata (
allegati/anagrafica_macchine_canali.xlsx): elenco macchine per canale, per distinguere con certezza i fermi paralleli dai sequenziali.
- Debug drawer rimosso: il pannello tecnico laterale e' stato dismesso su tutte le pagine: la sua funzione e' sostituita dalla colonna Assunzioni della pagina Punti aperti, in linguaggio piano e visibile a tutti.
Pulizia dati residui
- Rimossi i residui simulati dal dataset: righe di produzione su sabato 30 e domenica 31 maggio (9.915 pezzi mai esistiti, +18% sul mese), 19 eventi di perdita simulati su CH5/CH7/CH9, eventi duplicati dopo il 29 maggio su CH1 e CH8, e gli ordini della vista consegne (interamente simulati). Il dataset ora coincide al pezzo e al minuto con l'export IT di maggio su tutti i canali.
Build #56 MAJOR
17 luglio 2026 - 11:30
Rollback modello Availability (unione intervalli)
- Availability - ripristino unione intervalli (IPO-02 + IPO-09): la call di validazione con Operations del 16 luglio ha chiarito la logica corretta per i fermi sovrapposti sullo stesso canale: contano una volta sola (il maggiore), non divisi per il numero di macchine. Rimossa la divisione per num macchine introdotta nella Build #55, ripristinata l'unione degli intervalli per gruppo data-canale-turno e la distribuzione proporzionale sulle categorie di perdita (il Pareto riconcilia con la Availability). Il cap fisico a 480 min per turno viene applicato dopo l'unione. Nel mese il 32% dei minuti dichiarati risulta sovrapposto (37.158 dichiarati vs 25.304 effettivi canale).
- Doppio binario perdite: nuova funzione
totaliPerdite() in calculators.js che espone entrambe le grandezze: minuti canale (unione, coerenti con la Availability) e minuti macchina dichiarati (somma lineare, perdita economica piena), con la differenza etichettata come fermi sovrapposti. Nessun dato viene nascosto.
Quality - perimetro completo Rettifica + Collaudi
- Scarti Collaudi nella Q: gli scarti dei Collaudi (prodotto finito, 1 scarto = 1 cuscinetto) entrano nel perimetro della Quality insieme agli scarti Rettifica (anelli). Formula corretta: Q = versato / (versato + scarti), perche' un pezzo scartato non e' mai stato versato. Q plant maggio: 81,8% (solo Rettifica sarebbe 97,7%, solo Collaudi 83,3%). OEE plant maggio: 70%.
- Fattore anelli/cuscinetto per canale: la conversione degli scarti Rettifica usa la tabella ufficiale IT (prevalentemente 2, CH7=3, CH9=4), ora dato in anagrafica e non piu' assunzione.
Nuovi widget di discussione dati
- Plant overview - OEE per canale: barre con l'OEE di ogni canale a dati come dichiarati e Performance senza tetto al 100%: i canali oltre il 100% (fisicamente implausibile) sono evidenziati in rosso per la verifica di unita' e ritmi con IT e Operations. Fascia di riferimento 50-60% e linea al 100%.
- Plant overview - Qualita' per canale: tre card con i perimetri Q (Rettifica + Collaudi usata nell'OEE, solo Rettifica, solo Collaudi) e barre della Q per canale su perimetro Rettifica. La Q per canale completa arrivera' con l'associazione scarto-canale via DMC.
- Losses overview - Qualita' giornaliera vs mensile: la Q calcolata giorno per giorno (rumore da mismatch lotti, throughput ~15 giorni) contro la costante mensile usata dal tool.
- Layout Plant overview: Qualita' per canale sotto Performance (OEE), Pareto perdite in alto a destra della seconda riga, box ad altezza uniforme, mini-grafici di Pareto, Stato del flusso e Delivery ricalibrati sugli spazi.
- assumptions.json v3.1: rimossa l'assunzione sulla divisione per macchine, ripristinate le assunzioni su unione intervalli e propagazione alle categorie, riscritta l'assunzione sulla Q mensile (perimetro completo, formula, caveat rilavorazioni). 9 assunzioni attive nel debug drawer.
Build #55 MAJOR
16 luglio 2026 - 17:30
Refactor modello OEE
- Availability - normalizzazione per numero macchine (IPO-12): chiarimento del referente IT sui dati sorgente: i fermi sono registrati per singola macchina o operazione, non per canale intero. Se un canale ha 8 macchine e una si ferma per 60 minuti, il tempo pianificato del canale nel turno e' 3.840 minuti (480 x 8), non 480. Refactor del calcolo Availability e degli aggregatori losses: ogni fermo viene diviso per
num_operatori_paralleli del canale (dato gia' in anagrafica). Rimossa IPO-02 (union intervalli) e IPO-09 (distribuzione proporzionale) che erano approssimazioni della stessa idea con logica meno accurata.
- Quality - calcolo a livello mensile plant (IPO-13): chiarimento del referente IT: pezzi versati sono cuscinetti finiti, pezzi scartati sono anelli (componenti), e possono appartenere a lotti diversi (throughput time medio 15 giorni). La Quality calcolata come rapporto istantaneo turno o giorno restituisce rumore, non un segnale qualita' reale. Nuovo modello: Q viene calcolata una volta aggregando tutti i pezzi del plant sul mese di riferimento (con fattore 2 anelli = 1 cuscinetto come minimo standard), poi applicata come costante moltiplicativa a ogni turno. OEE turno = A_turno x P_turno x Q_mensile. Rimossa IPO-11 (Q calcolata su turno con scarti/2).
- Residui synthetic definitivamente rimossi: le funzioni
merge_delivery e merge_eventi ora fanno REPLACE COMPLETO nel range 2026-05-01 - 2026-05-29 (mese di riferimento). Prima persistevano residui synthetic per canali senza dati Sandro (es. CH5 nei giorni silent) e per date fuori range (30-31 maggio). Ora azzerati.
Nuove assunzioni
- IPO-12 e IPO-13: aggiunte in assumptions.json (rif. debug drawer). Rimosse le IPO-02, IPO-03, IPO-09, IPO-11 che erano approssimazioni ora sostituite dai due nuovi modelli piu' aderenti alla realta' operativa.
Build #54
15 luglio 2026 - 20:45
Fix
- Rimozione residui synthetic in delivery_giornaliera e eventi_perdita: le funzioni
merge_delivery e merge_eventi del parser sovrascrivevano solo le combinazioni (canale, data) presenti nei nuovi dati caricati, lasciando i vecchi record synthetic dove Sandro non aveva caricato niente. Impatto: alcuni canali mostravano volumi versati e minuti perdita che erano dati inventati, non reali. Es. CH3 il 25 maggio "1.146 pezzi versati" (synthetic) mentre in realta' aveva 0. Sistemata la logica: per ogni canale che ha almeno un record nei dati Sandro, tutti i vecchi record di quel canale nel range date coperto da Sandro vengono rimossi prima di inserire i nuovi. Cosi' se un canale il giorno X non ha registrazioni, il record risulta assente (o zero) invece di essere un valore inventato. Effetto sui numeri: Delivery vs target per CH3 crolla ai valori reali, minuti perdita per canali quasi-fermi come CH3 si assestano sui pochi eventi realmente registrati.
- Bug fuso orario UTC nelle date "oggi": vari punti del tool convertivano le date di periodo con
toISOString().slice(0,10). Nel fuso italiano (UTC+2 d'estate) questa conversione toglie un giorno: una data locale "2026-05-29 00:00" diventa "2026-05-28T22:00 UTC" e la stringa risulta "2026-05-28". Il widget Plant overview Stato del flusso pescava percio' la delivery del 28 maggio invece del 29. Introdotta funzione toLocalDateStr che ritorna YYYY-MM-DD nel fuso locale. Applicata anche a cause_perdita.html e debug_drawer.js dove serviva.
- _meta.json periodo.fine non aggiornato: il file
data/_meta.json aveva ancora periodo.fine = "2026-05-31". Lo script fix_default_period.py del Build #43 aggiornava solo stringhe top-level, saltando i valori dentro dict annidati. La pagina Stato del flusso leggeva quel campo per il suo "today" e cercava dati del 31 maggio (inesistenti) mostrando sempre 0. Aggiornato _meta.json manualmente e fix_default_period.py con ricorsione su dict.
Build #53
15 luglio 2026 - 20:00
Fix
- Quality OEE - conversione anelli/cuscinetti (IPO-11): il chiarimento del referente IT ha rivelato che i "pezzi versati" sono cuscinetti completi mentre i "pezzi scartati" sono anelli (componenti). La formula Quality precedente sottraeva anelli da cuscinetti mescolando unita' diverse. Introdotta assunzione IPO-11: due anelli scartati equivalgono a un cuscinetto (fattore standard per cuscinetti a doppia corona, da confermare per canale). L'IPO-03 precedente (cap scarti al 15% dei prodotti) e' rimossa perche' era un workaround dell'incoerenza semantica. Impatto: OEE plant maggio 54,0% (calcolo vecchio con scarti raw come cuscinetti) o 54,8% (nuovo con anelli/2), praticamente in linea con il 55% attuale. Q sale al 94%. Modificati rebuild_produzione_turni.py e calcOEE in calculators.js.
Build #52
15 luglio 2026 - 19:15
Modifiche
- Losses overview - sezione Collaudi: aggiunta seconda sezione sotto quella di Rettifica, organizzata per operazione/banco (non per canale) coerentemente col dato sorgente PaperEdge. Contiene: Pareto operazioni top 10 con cumulata 80/20, tabella top 5 con min/g, scarti/g, Loss prevalente per operazione, breakdown mix Loss dell'area Collaudi. Nuovo filtro Area in topbar (Rettifica / Collaudi / Entrambi, default Entrambi) che mostra/nasconde le sezioni. Parser esteso per iniettare i due dataset in synthetic_60gg.json (scarti_collaudi 2.245 record, eventi_perdita_collaudi 178 record). Debug drawer con due tab in piu'.
Build #51
15 luglio 2026 - 18:30
Modifiche
- Debug drawer - trasparenza dati sorgente: aggiunto un toggle Debug in topbar (viola scuro) su tutte le pagine principali. Al click apre un pannello laterale che mostra: filtri correnti applicati, tabelle sorgente filtrate coerentemente (produzione_turni, eventi_perdita, delivery_giornaliera, anagrafica.canali), elenco delle Assunzioni attive del modello dati con spiegazione in linguaggio semplice - "perche' serve", "effetti sui numeri", "come eliminarla". Cell coloring: giallo per valori derivati da un'assunzione, rosso per valori cappati (scarti oltre soglia). Le tabelle si aggiornano automaticamente al cambio filtro. Nessun nome di persona nelle descrizioni; assunzioni risolte non mostrate.
Build #50
15 luglio 2026 - 17:45
Fix
- Delivery MTD - allineamento parametri v02 Pompeo: il file
data/parametri_mtd.json conteneva valori forecast pre-caricatore v02 (es. CH1 15.750 vs v02 16.065). Aggiornati ai valori corretti della Tabella 4 del caricatore v02. Ora coerenti con anagrafica.canali[] popolata dal parser.
- Delivery MTD - versato dai dati reali quando disponibili: per i mesi con record in
delivery_giornaliera.json (maggio 2026), il versato di ogni canale nella tabella MTD viene ora sommato dai dati reali Sandro invece di essere derivato dal fattore_versato ipotizzato dello storico. Per mesi senza dati reali resta il fallback su fattore. Nessun rischio di divergenza tra widget MTD e Delivery giornaliera.
- Delivery MTD - default periodo Maggio 2026: il filtro periodo si apre su "Maggio 2026" (mese con dati reali disponibili) invece di "Giugno 2026 (MTD)" che era vuoto.
- Mancate dichiarazioni - voce nascosta dal menu: Voce rimossa dal dropdown Reportistica di tutte le pagine. Analisi Jopex: contenuto poco valorizzato per il cliente che passera' live a dicembre. La pagina resta sul repo per riesumazione futura ma non piu' esposta all'utente.
Build #49
15 luglio 2026 - 17:15
Modifiche
- Navbar - badge "demo": nel dropdown Losses analysis rimosso il badge NUOVO (verde) su Kaizen list e sostituito con badge "demo" (grigio). Aggiunto lo stesso badge "demo" a fianco della voce Cost Deployment. Segnalano che entrambe le pagine sono in stato dimostrativo.
- Stato del flusso - azzeramento dati per step: il foglio
Delivery per step (turno) non e' compilato in PaperEdge. La pagina generava fino ad oggi valori step da funzione random-seeded (analoga a Channels overview). Sostituiti con tile grigi e "—". KPI Rework rate, Step in alert e WIP azzerati (dipendevano da step non misurati). Drill step mostra placeholder "dato non disponibile". Trend full-width sostituito da trend Delivery giornaliera per canale (dato reale delivery_giornaliera.json) con confronto vs target giornaliero. KPI Delivery oggi resta dinamico dal versato reale. Banner in testata coerente con Channels overview.
- Filtri persistenti tra pagine: il filtro Periodo (e gli altri filtri comuni: canale, area, vista, ecc.) viene ora salvato in localStorage quando cambia in una pagina e ripristinato all'apertura di qualsiasi altra pagina. Cosi' se selezioni "Ultimi 30 giorni" in Plant overview e navighi su Losses overview, la vista si apre gia' con "Ultimi 30 giorni". Default alla primissima apertura del tool resta "Ultimi 7 giorni". Applicato in filters.js, gira su tutte le pagine.
- Stato del flusso - lettura filtro canale prima del primo render: arrivando in pagina con un filtro canale persistito (es. "Tutti i canali (plant)" ereditato da Plant overview), il KPI Delivery oggi restava a 0 finche' l'utente non toccava il filtro. La lettura del valore da
currentCanale era posticipata dopo i render. Anticipata prima dei render iniziali.
Build #48
15 luglio 2026 - 16:45
Modifiche
- Navbar - badge "demo": nel dropdown Losses analysis rimosso il badge NUOVO (verde) su Kaizen list e sostituito con badge "demo" (grigio). Aggiunto lo stesso badge "demo" a fianco della voce Cost Deployment. Segnalano che entrambe le pagine sono in stato dimostrativo (Cost Deployment con valori economici azzerati in attesa cost rate SKF, Kaizen list ancora non popolata dal cliente).
Build #47
15 luglio 2026 - 16:15
Modifiche
- Cost Deployment - azzeramento economico: KPI Perdite plant, Perdite canale, Top loss, Residuo non attribuibile, Matrice B causa-risultante % e Matrice C costi euro azzerati (mostrano "-"). Erano derivati da cost rate mockup e da matrice_causa_risultante_pct hardcoded in anagrafica, non validati da SKF. Matrice A (ore perdita per Loss) resta attiva e dinamica dai dati Sandro. Matrice D catalogo tecniche WCM resta come lookup di riferimento. Matrice E Kaizen list azzerata (numeri statici demo). Banner testata riscritto con motivo.
- Cost Deployment - label CH3 hardcoded rimosse: le label KPI ("CH3 linea pilota", "Loss n.1 CH3", "Residuo non attribuibile CH3"), i titoli tabelle ("Matrice C - Perdite CH3 in euro"), le intestazioni colonne ("CH3 quota causale", "CH3 TOTALE") e le descrizioni tooltip contenevano il riferimento hardcoded a CH3 anche quando il filtro canale era su un canale diverso o su plant aggregato. Sostituite con label generiche ("Canale filtrato", "Perdite in euro", "Quota causale", "TOTALE") e label dinamico che riflette il canale attivo del filtro ("CH1 (WCM compliant)" o "Plant aggregato (WCM compliant)").
Build #46
15 luglio 2026 - 15:45
Fix
- Losses overview coerenza IPO-02: le funzioni
trendBucketed, aggregateBySubcat e aggregateByOeeComponent di calculators.js sommavano linearmente i minuti perdita degli eventi, ignorando IPO-02 (eventi paralleli). Refattorizzate con nuovo helper _computeReductionRatios che pre-calcola per ciascun gruppo (data, canale, turno) il ratio unione/somma_lineare, poi applica ai singoli eventi in fase di aggregazione. Ora trend strip, Pareto sotto-categorie e albero OEE A/P/Q di Losses overview mostrano minuti coerenti con OEE plant 55%. Nuova IPO-09 gia' esistente in assumptions.json (creata a Build #42 per Plant overview) copre anche questi aggregatori.
- Terminologia losses: nei testi UI del Pareto perdite in Plant overview "big_loss" sostituito con "loss" (tooltip info-tip + label "Pareto losses"). Codice interno (variabili big_loss, chiavi JSON) resta invariato.
- Sotto-categorie Losses overview - coerenza col Loss padre: nel drill dell'albero OEE la lista sotto-categorie aggregava eventi con
e.durata_min raw (aggregazione locale nell'HTML), ignorando IPO-02. La somma delle sotto-categorie di un Loss risultava superiore al valore del Loss padre. Sostituita l'aggregazione locale con chiamata a SKFCalc.aggregateBySubcat (ora IPO-09-compliant). Sotto-categorie ora sommano al Loss padre.
- Trend strip Losses overview - arrotondamento etichette: le etichette del totale bucket in cima alle barre mostravano decimali dovuti al prodotto ratio IPO-09 * durata_min (es. "2323.9999999999"). Aggiunto Math.round nel rendering dell'etichetta bucket. Pareto chart e albero OEE gia' arrotondavano.
Build #45
15 luglio 2026 - 15:15
Fix
- Channels overview - azzeramento dati per step: il foglio
Delivery per step (turno) del caricatore Sandro non e' compilato perche' PaperEdge SKF Airasca misura solo l'output di canale, non i passi intermedi. La pagina generava fino ad oggi valori step da una funzione random-seeded, dando l'illusione di un dato reale. Sostituito con celle grigie e "—" + "dato non fornito". KPI Attainment medio e Step in alert azzerati. KPI Delivery plant continua a leggere il versato reale (dato Sandro). Sinottico canali e box drill per canale continuano a mostrare il versato reale. Banner in testata sostituito con "Dati non forniti - foglio Delivery per step non compilato in PaperEdge, vista in attesa di dati sorgente".
Build #44
15 luglio 2026 - 14:45
Modifiche
- Plant overview - box Pareto perdite: il box Avanzamento work order in alto a destra e' stato sostituito con un Pareto delle 7 losses. Bar chart orizzontale con big_loss ordinati per min/giorno decrescente, top 2 cause estratte con percentuale cumulata (regola 80/20). Numero centrale = totale min/giorno perdite plant vs target Pompeo (semaforo verde/giallo/rosso). Click sul box porta a Losses overview.
- Avanz. work order - disabilitato in navbar: voce menu diventa non cliccabile con badge "fase 2" (grigio corsivo). SKF Airasca non riesce ancora a produrre dati work order strutturati, la pagina resta sul repo ma non piu' esposta. Applicato a navbar di tutte le pagine.
- Stato del flusso e Delivery vs target - pieno dinamismo: le liste dei 3 canali critici e i trend chart SVG di questi due box in Plant overview erano hardcoded nell'HTML (es. "CH3 step Dimensionale ferma 35 min", "CH1 -3% vs target", polyline SVG fissa). Sostituiti con generazione dinamica: la lista mostra i 3 canali con delta % peggiore per il giorno end (Stato del flusso) o per il periodo (Delivery vs target), il trend chart e' ricostruito giorno per giorno negli ultimi 7 giorni da delivery_giornaliera. Ora ogni cambio di filtro (periodo, canale, turno) aggiorna anche liste e trend.
Build #43
15 luglio 2026 - 14:15
Fix
- Target Pompeo perdite - unita' di misura: il parser leggeva i target min/turno, min/giorno e min/big_loss di Pompeo dividendoli per 22 assumendo min/mese. Verifica di coerenza (somma 7 target big_loss = 628+833+333+333+450+333+420 = 3330 min/giorno, esattamente uguale al target Perdite min/giorno plant Pompeo) ha mostrato che sono direttamente in min/giorno plant aggregato. Rimossa divisione errata. Ora widget Top 3 perdite mostra semaforini nella scala corretta (es. Downtime 625 vs target 628 = SOTTO target invece che +596 di delta). Nuova IPO-10 in assumptions.json.
- Perimetro dati limitato ai giorni reali: data simulata di riferimento del tool passa da 31 a 29 maggio 2026, coerente col periodo di cui Sandro ha registrazioni PaperEdge (4-29 maggio, no 30 e 31). Data picker del filtro Giorno specifico ha 29 mag come max selezionabile. Aggiornati topbar "Data corrente simulata" e _meta.data_fine di synthetic_60gg.json.
- Vista di default all'apertura: il filtro Periodo di tutte le pagine parte ora su "Ultimi 7 giorni" invece di "Giorno specifico". Cosi' aprendo il tool si vede subito la fotografia dell'ultima settimana coperta dai dati (23-29 maggio) invece del singolo giorno.
- Alert Plant overview - canale undefined: l'alert "evento perdita piu' lungo" mostrava "undefined Process Adj. - fermo 230 min" perche' leggeva il campo
canale_id mentre nei record eventi_perdita si chiama canale. Fix mirato, ora mostra "CH3 Process Adj. - fermo 230 min".
- Top 3 perdite - ordinamento: il widget escludeva i big_loss sotto target (filter delta > 0), quindi in vista plant aggregata / ultimi 30 giorni mostrava una sola riga quando la maggior parte dei big_loss era sotto target. Cambiato ordinamento a valore assoluto (min/giorno decrescente): sempre 3 righe visibili, semaforo verde/giallo/rosso continua a indicare lo scostamento vs target. Cosi' l'utente vede sempre dove il plant sta perdendo piu' tempo, indipendentemente dal target.
- Leggibilita' badge delta: i badge good/warn/bad avevano colore testo troppo simile al background (verde medio su verde pallido, arancione medio su giallo pallido, rosso medio su rosa pallido). Scuriti i colori del testo (verde molto scuro #14532d, marrone scuro #78350f, rosso molto scuro #7f1d1d) per contrasto WCAG AA. Applicato a Plant overview, Losses overview e Cost Deployment.
Build #42
15 luglio 2026 - 13:30
Fix
- Coerenza minuti perdita vs OEE: l'aggregazione minuti perdita per big_loss ignorava IPO-02 (eventi paralleli). Cosi' l'OEE plant risultava 55% mentre il widget Top 3 perdite di Plant overview e la Losses overview mostravano minuti ancora inflazionati dai paralleli. Introdotta IPO-09:
aggregateByBigLoss ora, per ciascun gruppo (data, canale, turno), calcola l'unione degli intervalli e distribuisce il tempo ridotto sui big_loss proporzionalmente alla loro quota nella somma lineare. Totali coerenti con produzione_turni. Aggiunta aggregateByBigLossRaw per drill puntuali che vogliono i valori pre-riduzione.
- Note obsolete "cycle time CH3": rimosse le due note ereditate dal vecchio dataset synthetic monocanale (Plant overview widget Top 3 e Losses overview footer). Sostituite con riferimento a IPO-02 attiva.
Build #41
15 luglio 2026 - 13:05
Fix
- Chip turno nel filtro Giorno specifico: il click sui chip T1/T2/T3 alternava solo lo stato visivo senza dispatchare l'evento di aggiornamento, quindi i dati della pagina restavano invariati anche deselezionando un turno. Aggiunto dispatch
filterchange col set di turni selezionati (mappati dai codici PaperEdge T11/T12/T13/T21/T22/T30 ai codici legacy T1/T2/T3 usati da produzione_turni). Plant Overview ora filtra sia i record turno sia gli eventi perdita per turno selezionato.
Build #40
15 luglio 2026 - 12:45
Fix
- Filtro Giorno specifico: selezionando "Giorno specifico" nel filtro Periodo la vista non variava perche'
SKFCalc.resolvePeriod non aveva un caso dedicato e cadeva nel fallback "intero dataset". Aggiunta gestione con parametro specificDate in modo che il periodo si restringa al singolo giorno scelto e la granularita' passi a fascia 2h. Fix propagato a Plant Overview, Losses overview e Cost Deployment matrici.
Build #39
15 luglio 2026 - 12:15
Fix
- Calcolo OEE Plant Overview: il calcolatore
SKFCalc.calcOEE usava un ritmo ideale derivato dal cycle time di CH3 hardcoded per tutti i canali, ignorando pezzi_target del record turno. Sostituita con formula che usa direttamente il target per turno (agreed_avg_rate di Pompeo, IPO-08) normalizzato al tempo operativo. Ora l'OEE mostrato in Plant Overview coincide con la prova del 9 del rebuild produzione turni (55% aggregato plant sui 273 turni di maggio).
- Alert "Cosa richiede attenzione": la strip di 4 card in cima alla Plant Overview era costituita da testi HTML hardcoded che non variavano al cambio di periodo/canale. Sostituita con generazione dinamica a runtime da produzione_turni, eventi_perdita e delivery_giornaliera. Regole di derivazione: turno con OEE piu' basso vs target plant, canale con delta % delivery peggiore vs agreed_avg_rate * n_shift pro-rata, evento perdita piu' lungo del periodo, canale con Availability aggregata piu' bassa vs target. Severity assegnata in base allo scostamento dal target. Se nel periodo non ci sono alert, la strip mostra "Nessun alert nel periodo selezionato".
Audit hardcoded values
- Bug pending in Cost Deployment: individuati 4 altri hardcoded CH3 in
calculators.js (funzioni euroForBigLoss, euroScrapRework, matriceC, matriceA) che impattano solo la vista Cost Deployment. Non toccati in questa build, verranno sistemati nella build dedicata a Cost Deployment fase 2.
Build #38
15 luglio 2026 - 11:30
Modifiche
- Tracciamento ipotesi modello: introdotto
data/assumptions.json come sorgente unico di verita' per le assunzioni applicate ai dati (IPO-01 → IPO-08). Ogni ipotesi ha id, categoria, descrizione, impatto, blocking data e stato. Il rebuild dei dati stampa a runtime le ipotesi applicate. Base per una futura pagina "Note metodologiche" in tool.
- Eventi perdita, eventi paralleli: il tempo perso per canale in un turno non e' piu' somma lineare di tutti gli eventi. Applicata unione degli intervalli temporali (IPO-02): eventi che si sovrappongono in orario per lo stesso canale contano una volta sola, coerente con la struttura per operazione/banco di PaperEdge. Riduzione totale di 11.850 minuti perdita sui 37.158 letti grezzi (-31,9%).
- Cap scarti Rettifica: introdotto tetto al 15% dei pezzi prodotti per turno (IPO-03) come workaround temporaneo su record con scarti superiori al versato (33 record cappati, 1.125 pezzi sottratti al totale scarti). In attesa di chiarimento con Sandro sulla semantica della colonna scarti orari.
- Target Performance per canale: il denominatore del calcolo Performance usa ora
agreed_avg_rate pz/turno della Tabella 4 del file caricatore compilato da Pompeo (IPO-08), non piu' un target giornaliero hardcoded. Parser esteso per iniettare i tre parametri MTD (forecast produzione mese, agreed rate, n. shift medio) dentro anagrafica.canali[].
- OEE plant, valori aggiornati: A 86% - P 66% - Q 97% - OEE 55% a fine maggio 2026. Prima della calibrazione dei target Pompeo l'OEE risultava 37% per denominatore Performance sovrastimato. Nuovi valori compatibili con plant WCM in ramp-up e con target certificato SKF 60%.
Build #37 MAJOR
26 giugno 2026 - 18:00
Modifiche
- Passaggio a dati reali: dismesso il dataset synthetic 60 giorni. Il tool alimenta ora tutte le viste con i dati reali estratti da PaperEdge per il mese di maggio 2026, coprendo l'intero perimetro dei 9 canali.
- Delivery giornaliera: aggregata dai timestamp puntuali PaperEdge per fascia giornaliera x canale. Range coperto: 4 - 29 maggio 2026 con dati completi, primi tre giorni e ultimi due del mese privi di registrazioni.
- Eventi perdita: classificazione per canale e Loss (7 categorie WCM) direttamente dai record grezzi. Rettifica tracciata per canale, Collaudi per operazione/banco secondo il perimetro nativo del sistema.
- Target plant: aggiornati con i valori certificati (OEE 60%, Availability 75%, Performance 90%, Quality 95%). Le soglie di perdita per Loss sono espresse in min/giorno derivate dai valori mensili aggregati.
- Anagrafica dati: nuovo file
data/data_status.json traccia la copertura del dato per canale e per periodo. Aggiunta classe globale .dato-stimato (evidenziazione rossa) per marcare eventuali celle con valore non ancora certificato.
- Data corrente simulata: tutte le pagine si presentano come se fosse il 29 maggio 2026 (fine mese), coerente col perimetro dei dati caricati. Data picker del filtro contestuale Data + Turno impostato allo stesso valore.
- Cleanup dataset: rimossi i record fuori maggio 2026 da tutti i JSON per allineare il tool al perimetro reale disponibile. Le viste temporali (Ultimi 7 giorni, Mese corrente) operano su questo perimetro.
- Etichetta topbar: "Dataset artificiale" sostituito con "Dati reali - maggio 2026" su tutte le pagine.
Build #36
24 giugno 2026 - 11:30
Modifiche
- Gestione utenze: aggiunto un nuovo profilo di accesso al tool con ruolo IT. Generato il magic link personale corrispondente.
Build #35
24 giugno 2026 - 09:15
Modifiche
- Barra filtri: rimosso il filtro Turno statico residuo da Plant overview, Channels overview, Stato del flusso e Avanzamento work order. La barra filtri torna su una sola riga ed espone un unico controllo turno (quello contestuale dentro "Giorno specifico").
- Etichette chip turno: nel filtro Data + Turno i chip sono ora etichettati con la numerazione progressiva del giorno (T1, T2, T3 lunedi-venerdi; T1, T2 sabato; T1 domenica). I codici interni T11..T30 restano gestiti a livello dataset.
- Accesso: rimosso il form login utente + codice introdotto in Build #33 - non risultava utilizzabile da alcuni browser corporate. L'accesso al tool e' nuovamente esclusivamente tramite magic link personale e sessione locale gia' attiva. Soluzione strutturale via OAuth aziendale prevista per la versione di produzione.
Build #34
23 giugno 2026 - 18:30
Modifiche
- Filtro contestuale Data + Turno: sulle pagine analitiche (Plant overview, Channels overview, Losses analysis, Stato del flusso, Avanzamento work order) il filtro Periodo include ora l'opzione "Giorno specifico" con date picker inline e chip turno dinamici. I chip si adattano automaticamente al giorno della settimana selezionato (3 turni lun-ven, 2 turni sabato, 1 turno domenica). Multi-select, default tutti selezionati. La modifica e' a livello UI - il filtraggio effettivo del dataset per turno verra' attivato con il caricamento dei dati orari reali.
- Schema codici turno scalabile: ridenominati i codici turno con schema T11/T12/T13 (lun-ven), T21/T22 (sabato), T30 (domenica). Lo schema permette l'aggiunta futura di turni aggiuntivi mantenendo l'ordine numerico naturale. Aggiornati
anagrafica.json, lib/shift_filter.js e il template Excel di caricamento dati.
- Libreria shift filter: il file
lib/shift_filter.js e' ora caricato su tutte le pagine analitiche e mette a disposizione l'API window.SKFShiftFilter con utility per il filtraggio per turno (getActiveShiftsForDate, getShiftForTimestamp, isShiftActive, getShiftChipLabel).
Build #33 MAJOR
23 giugno 2026 - 17:45
Modifiche
- Rimozione modulo commenti: dismessa la funzionalita' commenti su tutte le pagine. Eliminati lo script
comments.js, la voce navbar dedicata e il toggle in topbar. Il backend dei commenti resta nel repository per eventuale riattivazione futura.
- Accesso: reintrodotto un form login con due campi (Utente e Codice di accesso) come alternativa al magic link. I codici di accesso coincidono con i token gia' assegnati. Convivono tre flussi: link personale in URL, sessione locale gia' attiva, form di login come fallback.
- Navbar: la voce "Channels overview" e' stata spostata subito dopo "Plant overview". Sequenza attuale: Plant overview, Channels overview, Losses analysis, Tracciamento processo, Reportistica, Build, Configurazione.
- Calendario produttivo: aggiornato
anagrafica.json con il pattern settimanale a 6 codici turno univoci. Sostituisce il precedente schema con sabato a un solo turno e domenica chiusa.
- Preparazione filtro Data + Turno: introdotta la libreria
lib/shift_filter.js con utility per il filtraggio per turno. UI esposta nelle build successive.
Build #32
17 giugno 2026 - 17:15
Modifiche
- Sinottico canali: rimosso il trattamento grafico dedicato al canale pilota. Tutti i canali del sinottico hanno ora lo stesso stile.
- Channels overview - matrici: le celle delle matrici Rettifica e Assemblaggio adottano lo sfondo colorato per severity (verde, giallo, rosso) in base all'output rispetto al target dello step. Allineamento al pattern gia' applicato al sinottico.
- Plant overview - alert card: le card della sezione "Cosa richiede attenzione" ricevono lo sfondo colorato per severity (giallo, rosso) al posto del solo accento laterale, per migliorare la leggibilita' a colpo d'occhio.
Build #31
17 giugno 2026 - 16:30
Modifiche
- Channels overview: rimossa la sottoetichetta di tipologia ("Rettifica WCM", "Assemblaggio Legacy", ecc.) da sinottico, matrici e pannello drill. Resta solo l'identificativo del canale (CH1..CH9).
- Sinottico canali: ai box del sinottico viene applicato lo sfondo colorato per severity, in aggiunta al border-left esistente, per evidenziare in modo immediato i canali fuori target.
Build #30 MAJOR
17 giugno 2026 - 14:00
Modifiche
- Sinottico: il secondo indicatore del box canale (precedentemente etichettato "TBD") e' stato rinominato in "Confezionato". Resta in stato placeholder in attesa di alimentazione del dato.
- Delivery MTD: introdotto il selettore Periodo con cinque opzioni: mese corrente MTD, due mesi precedenti, quarter corrente, anno YTD. La tabella aggregata viene ricalcolata in base al periodo selezionato.
- Storico 12 mesi: nuovo dataset
data/storico_mtd.json con dodici mesi rolling di parametri e indicatori delivery. Alimenta i nuovi filtri temporali.
- Parametri MTD storicizzati in Configurazione: nella sezione Parametri MTD per canale e' presente un selettore mese su 12 opzioni. Il mese corrente e' editabile (celle gialle), i mesi chiusi sono in sola lettura con badge dedicato.
- Delivery MTD: rimosso il filtro Canale ridondante. Header pagina semplificata.
Build #28
16 giugno 2026 - 17:00
Modifiche
- Sinottico canali: nuova sezione in cima a Channels overview con 9 box fissi (5 Rettifica + 4 Assemblaggio) e doppio indicatore di severity per produzione e qualita'. Click sul canale per scrollare alla riga matrice corrispondente.
- Filtro Canale - default: Plant overview, Losses overview e Cost Deployment partono ora dalla vista aggregata "Tutti i canali (plant)".
- Step processo: in Stato del flusso e Channels overview lo step "MVH" e' stato rinominato in "MVH in delivery" per coerenza con la terminologia operativa.
- Channels overview: rimosso lo stile italico dalla voce di menu, allineata con le altre voci della navbar.
Build #27 MAJOR
15 giugno 2026 - 18:30
Modifiche
- Nomenclatura: "Big Loss" rinominato in "Loss" / "7 Losses", "Throughput" rinominato in "Delivery" in tutta l'interfaccia utente. Identificativi tecnici interni invariati.
- 8 step di processo: ridefinita la struttura - Rettifica (Finitura facce, Rettifica, Lappatura piste, Visivo) + Assemblaggio (Dimensionale, Rasamento, MVH, Packaging).
- Stato del flusso: ridisegnata la pagina con 8 tile su due righe e frecce intra-area. Aggiunto filtro Area in topbar (Entrambi/Rettifica/Assemblaggio). Sopra al trend chart: segmented control e 8 checkbox per attivare/disattivare singole curve.
- Channels overview: 4 KPI principali con riferimento vs target, filtro Periodo funzionante, matrice Assemblaggio popolata sui canali CH6-CH9. Drill panel sotto rimosso.
- Plant overview - filtri reattivi: i 4 box principali (OEE, Stato del flusso, Delivery vs target, Avanzamento WO) si ricalcolano al cambio di Periodo o Canale.
- Dataset 9 canali: esteso il dataset simulato a tutti i 9 canali del plant. 10.685 eventi perdita e 1.260 turni simulati. Il filtro Canale ha ora effetto reale sulle metriche di Plant overview, Losses overview, Cost Deployment, Stato del flusso.
- Vista plant aggregata: nuova opzione "Tutti i canali (plant)" nel filtro Canale per la vista aggregata sull'intero plant.
- Configurazione canali: tutti i 9 canali sono marcati come attivi.
- Cleanup: rimossi tutti i banner "AI Assistant - Fase 2" dalle pagine analitiche. Banner topbar uniformato a "Dataset artificiale". Aggiornati i drill panel matrice con i nuovi 4+4 step.
Build #26
12 giugno 2026 - 18:45
Modifiche
- Backend commenti e accessi: riscritto come proxy server-side via Netlify Function (endpoint
/api/state). Il browser si interfaccia solo con il dominio app.jopex.ai, le chiamate al backend di storage avvengono server-side. Risolve il blocco in scrittura su domini esterni dei proxy aziendali.
- Sicurezza: chiave master del backend di storage spostata in variabile d'ambiente Netlify (
JSONBIN_MASTER_KEY), non piu' esposta nel codice frontend.
- Compatibilita': nessun impatto sulla user experience - stesso workflow, stesso storage condiviso.
- Performance: 50-200 ms di latenza aggiuntiva per chiamata dovuti al passaggio intermedio. Trascurabile sotto carico normale.
Build #25
12 giugno 2026 - 18:00
Modifiche
- Filtri uniformi: nuovo filtro Plant (default Airasca) come primo elemento della barra filtri su tutte le pagine analitiche. Sequenza standard: Plant - Periodo - Canale.
- Filtro Canale: il dropdown mostra tutti i 9 canali CH1-CH9 in ordine sequenziale. Rimossa l'opzione "Tutti" ridondante.
- Losses overview: rimosso il filtro turno, non coerente con il livello di aggregazione dei KPI di pagina.
- Configurazione: fix del cursore sull'icona di accesso alla pagina.
Build #24 MAJOR
12 giugno 2026 - 17:15
Modifiche
- Dataset record-evento: generato dataset simulato sul canale pilota per 60 giorni (13 aprile - 11 giugno 2026) a livello evento: 1.108 eventi perdita, 140 turni produzione, 121 ordini delivery. Generazione deterministica (seed=42), riproducibile, sostituibile con dati reali via template Excel.
- Anagrafica WCM: nuovo file
data/anagrafica.json centralizza tassonomia, 9 canali, turni, calendario produttivo, cost rate, mix componenti di costo per Big Loss, matrice causa-risultante percentuale, catalogo tecniche WCM.
- Libreria calcoli: nuovo file
lib/calculators.js con OEE (A x P x Q), pareto, trend bucketed, costoProprioBigLoss, matriceA in ore perse, matriceB causa-risultante in percentuale, matriceC WCM compliant.
- Losses overview: riscrittura completa - trend, Pareto e albero OEE component / Big Loss / sottocategoria calcolati interamente dal dataset. Filtro Periodo pilota il calcolo.
- Matrice C WCM: solo Loss causali in righe. Le Loss risultanti vengono allocate alle causali via Matrice B. Per ogni causale: quota causale (costo proprio con mix componenti) + quota risultante (somma percentuale delle risultanti generate).
- Matrice A WCM: stratificazione perdite per linea produttiva in ore.
- Matrice B WCM: vista causa-risultante con percentuali di allocazione per ciascuna risultante.
- Matrice D: rinominata correttamente come "Matrice D - Tecniche WCM".
- Coerenza pagine: Losses overview e Cost Deployment leggono dallo stesso dataset e dalla stessa anagrafica.
Build #23
12 giugno 2026 - 16:00
Modifiche
- Losses overview - trend: la granularita' del chart si adatta al filtro Periodo. Oggi = fasce 2h della giornata, Ultimi 7 giorni = giornaliero, Ultimi 30 giorni / Mese corrente / Mese scorso = settimanale. Linea target e scala asse Y si adattano.
- Losses overview - KPI Loss: i valori delle 7 Loss e dei 3 componenti OEE si ricalcolano dinamicamente sul periodo selezionato. Delta e indicatori di severity aggiornati di conseguenza.
- Losses overview - Pareto: il chart Pareto si riordina in base al periodo, con titolo aggiornato.
Build #22
12 giugno 2026 - 15:30
Modifiche
- Plant overview - layout: riorganizzato il layout dei 4 area-box. In alto OEE e Avanzamento WO, in basso Stato del flusso e Delivery.
- Plant overview - OEE: etichetta "shift in corso" sostituita con "ultimo turno chiuso". Il KPI OEE si aggiorna a fine turno.
- Stato del flusso: STEP 1 rinominato da "Fine rettifica" a "Rettifica".
- Losses overview - trend: sostituito il chart a linee multiple con istogramma stacked (7 Loss impilate per giorno) e linea target plant. Granularita' dinamica in base al filtro Periodo.
- Kaizen list: nuova colonna "Canali impattati" tra Owner e Costo. Le azioni trasversali sono evidenziate con pill "FACTORY".
- Kaizen list: aggiunto esempio di azione plant-wide su postazioni condivise tra canali.
Build #21
12 giugno 2026 - 10:15
Modifiche
- Tassonomia perdite: sostituite le sottocategorie del dataset con le 30+ sottocategorie reali del file Tassonomie SKF. Aggregazione conforme alle 7 Loss handbook gruppo.
- Modello Speed Loss & Minor Stops: aggiunto campo
tipo alle sottocategorie per distinguere vincolo organizzativo / operazione aggiuntiva / rallentamento macchina. La categoria nel modello SKF include anche vincoli organizzativi (assemblea sindacale, assistenza, training).
Build #20
8 giugno 2026 - 12:10
Modifiche
- Accesso: sessione utente persistente tra le pagine e tra le schede del browser. Sostituito sessionStorage con localStorage cross-tab.
Build #19
8 giugno 2026 - 11:40
Modifiche
- Accesso: sostituito il form password con accesso tramite link personale univoco in URL. Massima compatibilita' con browser corporate. Sessione attiva fino a chiusura browser.
Build #18
8 giugno 2026 - 11:05
Modifiche
- Login: migliorata la compatibilita' del campo "Codice di accesso" con browser corporate e password manager aziendali.
Build #17
8 giugno 2026 - 10:30
Modifiche
- Database condiviso: aggiornata la sincronizzazione visite e gli indicatori di freschezza delle pagine.
- Accesso: cleanup sessione e gestione robusta di chiusura pagina e ricarica.
Build #16
8 giugno 2026 - 09:55
Modifiche
- Sistema commenti: migrato da localStorage a backend condiviso. Tutti gli utenti autenticati vedono lo stesso stato in tempo reale. Cache locale come fallback offline. Indicatore di sincronizzazione in topbar.
- Modello commento: esteso con campi
targetElement (CSS selector), targetLabel e targetText (snippet del testo agganciato).
- Ruolo Admin: introdotto ruolo amministratore con possibilita' di eliminare commenti di altri utenti. Gli utenti standard possono modificare o eliminare solo i propri.
- Pulizia: commenti di test pre-Build #16 rimossi. Backend riportato a stato vuoto.
Build #15
5 giugno 2026 - 17:00
Modifiche
- Configurazione - Cost rate manodopera: nuova sezione con editor 9 CdL diretti + plant indiretto + materiale €/pz. Owner editoriale: Controllo di Gestione, aggiornamento annuale.
- Configurazione - Mapping Loss/tipo manodopera: 7 righe editor con dropdown tipo costo (diretta / indiretta / diretta + materiale) e badge default CAU / RIS / MAT.
- Configurazione - Catalogo tecniche WCM: 16 card cliccabili con toggle (7 default attive + 9 disponibili). Set proposto da letteratura WCM.
- Configurazione - Plant gerarchia: tree view Plant Airasca con reparti e CdL. Sola lettura in fase 1, editor drag & drop pianificato per fase 2.
- Configurazione - Tassonomia perdite estesa (23): nuova sezione con badge FASE 2. Schema dati pronto, UI disabilitata in fase 1.
- Configurazione: aggiunti tab selettori in alto (Generale / Cost Deployment). Stato persistente in localStorage.
- Wording: rimossa la parola "anteprima" dai punti visibili e sostituita con "tool" / "release".
- Dataset: nuovi file
catalogo_tecniche.json, plant_gerarchia.json, tassonomia_perdite_23.json.
Build #14
5 giugno 2026 - 15:30
Modifiche
- Kaizen list: nuova pagina (matrice E del Cost Deployment). 8 azioni demo raggruppabili per Stato / Loss / Owner / Tecnica. Colonne: titolo + perdite agganciate, tecnica, owner, costo, beneficio €/anno, ROI, trend perdita target, data target, azione di avanzamento.
- Workflow azione: aggancio obbligatorio a una o piu' perdite. La baseline si fissa automaticamente al passaggio Backlog → In corso. Misurazione trend giornaliero da quel momento.
- Suggerimento sistema: riga gialla sotto l'azione propone "Avanza a In review" quando la curva della perdita target sta sotto soglia per N giorni consecutivi (default 10). Avanzamento manuale resta default.
- Trend live: sparkline 30 giorni per ogni azione In corso, con baseline tratteggiata, valore corrente in € e percentuale di riduzione.
- Dataset: nuovi file
kaizen_actions.json e sottocategorie_paperedge.json.
- Navbar: attivata voce "Kaizen list" nel dropdown Losses analysis. Aggiunta voce "Beneficio reale vs atteso" come prossima.
Build #13 MAJOR
5 giugno 2026 - 14:30
Modifiche
- Cost Deployment: nuova pagina "Matrice C - Valorizzazione economica perdite" (
matrice_c.html). 7 Loss x 5 viste plant in €.
- Cost Deployment: selettore periodo Settimana / Mese / YTD (default Mese), 4 KPI tile, Pareto laterale, matrice C con badge CAU / RIS / MAT.
- Cost Deployment: accordion Matrice A (heatmap localizzazione min/pz), Matrice B (catene causa-effetto), Matrice D (tecniche WCM raccomandate), Matrice E (sintesi azioni Kaizen con ROI).
- Modello cost rate: modello ibrido - €/h diretto per CdL + €/h indiretto plant + €/pz materiale.
- Dataset: nuovi file
cost_rates.json, mapping_bigloss_tipo.json, matrice_c.json. Esteso categorie_perdita.json con flag cau_ris_default e tipo_costo_default.
- Navbar: attivata voce "Cost Deployment" nel dropdown Losses analysis.
Build #12
5 giugno 2026 - 11:30
Modifiche
- Losses overview: riprogettata con struttura ad albero a 3 livelli - OEE = Availability x Performance x Quality → 7 Loss → sottocategorie. Terzo livello collassato di default.
- Losses overview: da 2 trend strip a 1 sola trend strip in minuti. Scrap & Rework convertito da pezzi tramite cycle time del canale bottleneck.
- Configurazione: aggiunta sezione "Tasso di conversione pezzi → minuti" per canale.
- Configurazione: tutte le sezioni collassabili (default espanse).
- Plant overview: Top 3 perdite ora tutte in minuti (eliminata l'unita' mista pz/min).
- Losses overview: focus sul canale pilota per la fase 1.
Build #11
5 giugno 2026 - 09:45
Modifiche
- Anagrafica utenze: aggiunti due profili di accesso aggiuntivi (Operations + IT).
- Sistema commenti: esteso il dropdown autore con i nuovi utenti.
- Dataset turni: aggiornato allo schema reale SKF Airasca - T1/T2 con pausa 30 min (7.5h), T3 senza pausa (8h), pattern sabato e domenica differenziati.
- Tassonomia perdite: confermate le 7 categorie handbook gruppo, in attesa delle sottocategorie reali per il prossimo aggiornamento dataset.
Build #10
3 giugno 2026 - 09:35
Modifiche
- Dataset turni: aggiunto Turno 3 (notte 22:00-06:00). Lo stabilimento opera a 3 turni.
- Mancate dichiarazioni: heatmap dinamica - rende N colonne per giorno (una per turno) e gestisce T1/T2/T3.
- Dataset: 463 record T3 simulati nel modulo mancate dichiarazioni.
Build #9
3 giugno 2026 - 16:20
Modifiche
- Tool GANP: integrato il widget commenti, lo stesso pattern delle pagine Visibility (toggle topbar, pin posizionabili, 4 stati, lista centralizzata).
- Tool GANP: aggiunto bottone Build in topbar e voce Commenti in navbar.
- Tool GANP: navbar plant condivisa con il Visibility per navigazione cross-tool.
- Tool GANP: tooltip informativi sulle 5 sezioni principali.
- Tool GANP: identita' capo turno coerente con auth multi-user.
- Tutte le pagine: numero Build in topbar aggiornato.
Build #8
3 giugno 2026 - 15:10
Modifiche
- Sicurezza: introdotte password individuali per profilo stakeholder + admin. Ogni accesso e' revocabile singolarmente.
- Audit: log accessi locale per ciascun utente (nome, ruolo, pagina, timestamp, user-agent). Backend remoto previsto.
- Commenti: autore commento auto-popolato dal profilo loggato. Rimossa la selezione manuale.
Build #7
3 giugno 2026 - 14:35
Modifiche
- Commenti: in modalita' commento attiva, il click su elementi linkati apre la finestra di nuovo commento invece di seguire il link.
- Commenti: cursore crosshair anche su link e bottoni quando la modalita' commento e' attiva.
Build #6 MAJOR
3 giugno 2026 - 11:30
Modifiche
- Plant overview: riprogettata con alert feed "Cosa richiede attenzione" e 4 box area (Performance / Stato flusso / Delivery / Avanzamento work order).
- Plant overview: tooltip informativi sui titoli dei box e bottone di esportazione slide PowerPoint con dati filtrati.
- Losses overview: riprogettata con 2 trend strip affiancate (perdite tempo 6 categorie WCM / perdite pezzi con linea target).
- Losses overview: sezione Eventi recenti con download Excel + box split categorie collassabili.
- Configurazione: nuova pagina completa con target 7 categorie WCM su 8 semestri (S1 2026 - S2 2029), 6 regole alert con soglie, parametri generali.
- Build & changelog: nuova pagina servizio con timeline rilasci.
- Sistema commenti: introdotto con pin posizionabili sulla pagina (4 stati: Aperto / In corso / Risolto / Respinto).
- Sistema commenti: identificazione autore via dropdown precompilato, badge counter aperti per pagina, tooltip contesto DOM.
- Sistema commenti: pagina lista centralizzata con statistiche per stato, filtri stato/autore/pagina, ricerca testo.
- Tutte le pagine: aggiunto bottone Build in topbar e voce Commenti in navbar.
- Sistema commenti: storage in modalita' demo (localStorage browser). Backend remoto pianificato per build successiva.
Build #4
30 maggio 2026 - 11:10
Modifiche
- Andon: pagina standalone per monitor da 50" con wall postazioni.
- Stato del flusso: rebuild come sequenza step orizzontali.
- Mancate dichiarazioni: rimosso il nome operatore dal layout (privacy).
- Channels overview: rimosso il badge BOZZA, titolo allineato.
Build #3
28 maggio 2026 - 16:45
Modifiche
- Avanzamento work order: nuova pagina (BOZZA) con 14 ordini di lavoro simulati.
- Delivery MTD: layout 9 canali + cumulato vs target lineare.
- Mancate dichiarazioni: heatmap 12 postazioni x 7 giorni x 2 turni.
Build #2
26 maggio 2026 - 10:15
Modifiche
- Tutte le pagine: codifica colore navbar per sezione.
- Tutte le pagine: layout responsive mobile.
- Sistema commenti: setup widget iniziale.
Build #1
24 maggio 2026 - 14:30
Modifiche
- Infrastruttura: setup GitHub + Netlify + dominio.
- Sicurezza: password gate base con SHA-256.
- Dataset: dataset simulato sul canale pilota per 90 giorni.
- Plant overview: versione iniziale con 4 KPI + tabella canali.