Compromesso approvato (Simon/Cristiano) al posto della cancellazione richiesta al
punto 3 del #501 — validato nis2-expert (all-hazards = obbligo art.21.2 Direttiva
-> art.24 D.Lgs.138/2024; rimuoverla = lacuna di conformità).
- risks.html: la sezione diventa un <details> comprimibile. Header sempre visibile
con titolo "Rischi trasversali (approccio multirischio / all-hazards) - art. 24
D.Lgs. 138/2024" + contatore. Apri-se-vuota (updateAllhazardHeader): vuota -> aperta
(presidiata in audit), con voci -> chiusa (meno ingombro). Nota riformulata che la
distingue dai "rischi di non conformità".
- i18n.js custom_heading/custom_help (IT+EN) + help.js allineati.
- Manuale + KB RISCHI_MODELLO.md aggiornati. Cache-buster help/i18n 20260731.
- Solo frontend/statico.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Riscontro Simon sulla tabella Gestione Rischi:
- Titoli di gruppo sui tripletti Probabilità/Impatto/Valutazione: da
"VALUTAZIONE RISCHIO INERENTE/RESIDUO" a "Rischio Inerente"/"Rischio Residuo"
(risks.html thead + i18n.js grp_inherent/grp_residual IT+EN).
- Ritirata eccezione #3: banda Alert riportata a spec Simon 15-25/9-12/3-8/1-2.
Simon ha ragione: con P,I in 1-5 i prodotti 7/11/13/14 non esistono → nessun
buco. alertBand resta >=9 (=9-12 in pratica); aggiornati commento, help.js,
manuale, KB (9-14 -> 9-12).
- Cache-buster help.js/i18n.js -> 20260730b (i18n va bustato o riscrive il titolo).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Doc SYSTEM per ARIA: pagina Rischi = requisiti del framework (Det. ACN 164179/2025),
framing 'rischio di non conformita', codice RSK interno (non ACN), matrice=rappresentazione
(art.24), rischi aggiuntivi all-hazard per admin. + scripts/ingest-risks-model.php.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dopo il revamp V3, allineati i layer che descrivevano ancora la sidebar V2:
- topnav-v3.js: aggiunte le pagine orfane in nav (Matrice RACI → Struttura
interna, Scadenziario → Monitoraggio, Compliance Journey → Guida) + cablato
data-i18n su gruppi e voci del mega-menu (traduzione IT/EN come in V2).
- i18n.js: nuove chiavi nav V3 (gruppi mega-menu + connettori/whistleblowing/
normative/cross-analysis/kb/architettura/simulazione/integrazioni/workflow/
audit ACN/registra incidente).
- AIService.php navigationMapBlock: riscritta sul menu IN ALTO V3 (9 gruppi +
pulsante "Registra incidente"), sync con topnav-v3.js NAV_GROUPS; ARIA non
parla più di "barra laterale".
- help.js: corrette le 3 menzioni "sidebar" → barra/menu in alto.
- KB nis2_kb: nuovo docs/kb/V3_UI_NAVIGAZIONE.md + scripts/ingest-v3-ui-doc.php
(ingerito host-side: 3 chunk SYSTEM, rimossi i chunk V2; ARIA RAG ora guida
sul top-nav).
- Cache-buster ?v=20260627n sui 3 JS modificati su tutte le pagine.
Deploy: JS/HTML statici live via bind-mount; php-fpm reload (host + nis2-app)
per AIService.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Completa la copertura V2 al 100% delle pagine app autenticate (pre-swap).
Additivo: nessun file live HTML promosso ancora (lo swap e separato).
- 9 pagine app -bi: isms, acn-gap, normative, whistleblowing, kb, cross-analysis,
service-continuity (doc standalone), guida, companies
- admin/{index,organizations,users}-bi.html (path corretti, common-bi.js)
- help.js: +89 righe help contestuale pagine V2 (vincolo fonti certe)
- docs/kb/V2_UI_NAVIGAZIONE.md: doc UI/navigazione V2 per la KB AI (ARIA)
- Verifica: tutte servite 200, 0 CDN/FontAwesome, sprite validi, parita ID
Prodotto via Workflow a trittici (run wf_c4962fbe-93f) + fix manuale companies/sprite.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>