[FORMAZIONE] Avatar di prodotto — mappa-logica COMPLETA (22 viste) + SELETTORI_DEMO + tassonomia corso + fix kb.js
Deliverable formazione-first (DESIGN_AVATAR_FORMAZIONE / product-demo-complete):
- docs/mappa-logica/01..22_*.md: tutte le viste app V2 mappate (formato canonico standard §2),
selettori VERIFICATI sul DOM reale, endpoint verificati su api.js/script, gate ruolo dai controller
- docs/mappa-logica/SELETTORI_DEMO.md: registry canonico (22 viste, 131 visualizzazione + 89 azioni)
+ worklist consolidata 132 id stabili da aggiungere (modifiche chirurgiche future)
- docs/formazione/TASSONOMIA_CORSO_NIS2.{md,json}: 10 moduli / 28 lezioni / ~7h45, prerequisiti+durate,
esame con soglia 80%, sandbox 'prova tu' org 996002
- fix kb.js: ingest scope=ORG ora invia organization_id (prima 422 KB_ORG_REQUIRED) — bug trovato da A2
Prodotto con 4 trittici di agenti (A1 esecutore -> A2 revisore -> A3 controllore avversariale):
A2: ~14 correzioni (cross-ref, gate ruolo, comportamenti); A3 PASS: 38 selettori campionati 0 rotti,
18 endpoint reali, 0 violazioni normative (Allegati 3/4, IS-4, '1 mese', PII.* interna), 9 claim verificati.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e1ab0b3ea0
commit
4dfab2a391
@@ -1,6 +1,6 @@
|
||||
# Avatar di prodotto NIS2 — Demo + Formazione (standard product-demo-complete)
|
||||
|
||||
> Stato: **Fase 1 (DEMO) in costruzione**. Owner prodotto: NIS2. Owner persona/voce/collaudo: AgileHub.
|
||||
> Stato: **FORMAZIONE-FIRST (decisione utente 2026-06-12): la formazione è l'obiettivo primario; la demo riusa i mattoni.** Owner prodotto: NIS2. Owner persona/voce/collaudo: AgileHub.
|
||||
> Persona già LIVE: `ARIA_SUPPORT_NIS2` (id=4). Voce ARIA riusata (niente consenso voce).
|
||||
> Modalità **A** (prodotto live: l'avatar pilota la SPA reale).
|
||||
|
||||
@@ -22,10 +22,12 @@
|
||||
- [ ] **Manifest** `public/demo/nis2-tour-2026.json` (~10 step IT; EN dopo).
|
||||
- [ ] **Mappe** `docs/mappa-logica/*.md` (1 per vista) + `SELETTORI_DEMO.md` + anchor `data-demo-action` + id stabili nel DOM.
|
||||
|
||||
## Deliverable IN PIÙ — FORMAZIONE (punti 6–7, dopo la demo)
|
||||
- [ ] Mappa-logica **COMPLETA** (tutte le viste, non solo le 10 della demo).
|
||||
- [ ] **Tassonomia corso** (moduli → lezioni → argomenti, prerequisiti, durata). *Formato JSON da definire (lo standard non lo fissa).*
|
||||
- [ ] (opz.) banca esercizi/domande per modulo + sandbox scrivibile isolata.
|
||||
## Deliverable FORMAZIONE (priorità primaria — punti 6–7(+8) del brief)
|
||||
- [ ] **Mappa-logica COMPLETA** `docs/mappa-logica/*.md` — TUTTE le ~22 viste app (in produzione con agenti, formato canonico standard §2).
|
||||
- [ ] **`SELETTORI_DEMO.md`** — registry campo→selettore compilato dalle mappe, selettori VERIFICATI nel DOM reale.
|
||||
- [x] **Tassonomia corso** `docs/formazione/TASSONOMIA_CORSO_NIS2.md` + `.json` (moduli→lezioni→argomenti, prerequisiti, durate). Formato JSON definito da noi (lo standard non lo fissa) — da validare con AgileHub.
|
||||
- [ ] **Banca esercizi/domande** per modulo (punto 8, la forniamo noi: conosciamo il prodotto) — dopo la tassonomia.
|
||||
- [ ] **Sandbox scrivibile isolata**: org **996002** (dataset finto SCRIVIBILE con reset, per i "prova tu"), distinta dall'org demo read-only 996001. Scope JWT dedicato `training:sandbox` (scritture consentite SOLO su org 996002).
|
||||
|
||||
## Endpoint (route shape scelta)
|
||||
Per non combattere il router NIS2 (path-param numerici), il `session_id` (stringa `demo-<uuid>`) viaggia in **query/body**, non in path. Le URL esatte che userà il widget sono quelle che ritorno io in `session-start` (`manifest_url`, `credentials_url`), quindi è conforme.
|
||||
|
||||
Reference in New Issue
Block a user