docs(phase-18): create phase plan — cleanup & consolidamento
3 piani in 2 wave: 18-01 (rimozioni Forecast+QuoteBuilder), 18-02 (fusione analytics→dashboard), 18-03 (CLEAN-04 verify + build check). ROADMAP.md aggiornato con plan list Phase 18. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,197 @@
|
||||
---
|
||||
phase: 18-cleanup-consolidamento
|
||||
plan: 03
|
||||
type: execute
|
||||
wave: 2
|
||||
depends_on:
|
||||
- "18-01"
|
||||
- "18-02"
|
||||
autonomous: false
|
||||
files_modified:
|
||||
- .planning/ROADMAP.md
|
||||
- .planning/REQUIREMENTS.md
|
||||
requirements:
|
||||
- CLEAN-04
|
||||
|
||||
must_haves:
|
||||
truths:
|
||||
- "Le fasi 13/15/16/17 sono marcate esplicitamente come cancellate/congelate/ri-scopate nel ROADMAP.md"
|
||||
- "REQUIREMENTS.md riflette lo stato aggiornato dei requirement corrispondenti"
|
||||
- "CLEAN-04 è marcato Done in REQUIREMENTS.md"
|
||||
- "La build del progetto passa dopo le rimozioni dei piani precedenti"
|
||||
artifacts:
|
||||
- path: ".planning/ROADMAP.md"
|
||||
provides: "Fasi 13/15/16/17 con status esplicito cancellate/congelate"
|
||||
contains: "CONGELATA\|ABBANDONATA\|RI-SCOPATA"
|
||||
- path: ".planning/REQUIREMENTS.md"
|
||||
provides: "CLEAN-04 marcato Complete"
|
||||
key_links:
|
||||
- from: "ROADMAP.md fasi 13/15/16/17"
|
||||
to: "STATUS field"
|
||||
via: "checklist e label espliciti"
|
||||
pattern: "Congelata|Abbandonata|Ri-scopata"
|
||||
---
|
||||
|
||||
<objective>
|
||||
Verificare formalmente il completamento di CLEAN-04 e validare la build post-cleanup.
|
||||
|
||||
Purpose: CLEAN-04 — le fasi v2.1 residue sono già state archiviate/marcate nel reset 2026-06-19.
|
||||
Questo piano le verifica, le sigla formalmente nel planning e valida che i piani 01/02
|
||||
non abbiano introdotto errori di build.
|
||||
Output: CLEAN-04 marcato Done, build TypeScript verificata, check umano che la dashboard funziona.
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@$HOME/.claude/get-shit-done/workflows/execute-plan.md
|
||||
@$HOME/.claude/get-shit-done/templates/summary.md
|
||||
</execution_context>
|
||||
|
||||
<context>
|
||||
@.planning/ROADMAP.md
|
||||
@.planning/REQUIREMENTS.md
|
||||
@.planning/STATE.md
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Verifica CLEAN-04 e aggiorna planning docs</name>
|
||||
|
||||
<read_first>
|
||||
- .planning/ROADMAP.md — sezione fasi 13/15/16/17, verifica che abbiano label/status esplicito
|
||||
- .planning/REQUIREMENTS.md — sezione CLEAN-04, verifica stato attuale
|
||||
</read_first>
|
||||
|
||||
<files>
|
||||
.planning/ROADMAP.md,
|
||||
.planning/REQUIREMENTS.md
|
||||
</files>
|
||||
|
||||
<action>
|
||||
STEP 1 — Verifica ROADMAP.md:
|
||||
Leggi le voci delle fasi 13, 15, 16, 17 nel ROADMAP.md.
|
||||
Devono avere tutte uno status esplicito. Controlla che la checklist mostri:
|
||||
- Phase 13: [~] con label "❌ CONGELATA (reset 2026-06-19)"
|
||||
- Phase 15: [~] con label "❌ ABBANDONATA (reset 2026-06-19)"
|
||||
- Phase 16: [~] con label "❌ RI-SCOPATA in v2.2"
|
||||
- Phase 17: [~] con label "❌ RI-SCOPATA in v2.2"
|
||||
Se uno di questi status manca o è incompleto, aggiungilo/completalo.
|
||||
Aggiungi anche una nota nella tabella Progress in fondo con la data di chiusura 2026-06-19
|
||||
dove mancante.
|
||||
|
||||
STEP 2 — Aggiorna REQUIREMENTS.md:
|
||||
Nella tabella "Cleanup & Consolidamento (Phase 18 / R1)":
|
||||
- CLEAN-01: cambia Status da "Pending" a "Complete"
|
||||
- CLEAN-02: cambia Status da "Pending" a "Complete"
|
||||
- CLEAN-03: cambia Status da "Pending" a "Complete"
|
||||
- CLEAN-04: cambia Status da "In corso (questo reset)" a "Complete"
|
||||
|
||||
Nella tabella Traceability in fondo:
|
||||
- CLEAN-01 | Phase 18 (R1) | Complete
|
||||
- CLEAN-02 | Phase 18 (R1) | Complete
|
||||
- CLEAN-03 | Phase 18 (R1) | Complete
|
||||
- CLEAN-04 | Phase 18 (R1) | Complete
|
||||
|
||||
STEP 3 — Build verification:
|
||||
Esegui: cd /Users/simonecavalli/Vault/IAMCAVALLI && npm run build
|
||||
Se la build fallisce:
|
||||
- Leggi l'output dell'errore
|
||||
- Identifica il file con import rotto
|
||||
- Risolvi (probabilmente un import di componente eliminato o una funzione non trovata)
|
||||
- Ri-esegui npm run build fino a successo
|
||||
Registra nel SUMMARY se ci sono stati fix necessari.
|
||||
</action>
|
||||
|
||||
<verify>
|
||||
<automated>
|
||||
grep "CLEAN-04" /Users/simonecavalli/Vault/IAMCAVALLI/.planning/REQUIREMENTS.md
|
||||
</automated>
|
||||
Risultato atteso: riga contenente "CLEAN-04" e "Complete".
|
||||
|
||||
Verifica fasi archiviate:
|
||||
grep -E "Phase 13|Phase 15|Phase 16|Phase 17" /Users/simonecavalli/Vault/IAMCAVALLI/.planning/ROADMAP.md | grep -E "CONGELATA|ABBANDONATA|RI-SCOPATA" | wc -l
|
||||
Risultato atteso: 4 (tutte e quattro le fasi con label esplicito).
|
||||
</verify>
|
||||
|
||||
<acceptance_criteria>
|
||||
- REQUIREMENTS.md: CLEAN-04 è "Complete"
|
||||
- REQUIREMENTS.md: CLEAN-01, CLEAN-02, CLEAN-03 sono "Complete"
|
||||
- ROADMAP.md: fasi 13/15/16/17 hanno label di stato esplicito (CONGELATA/ABBANDONATA/RI-SCOPATA)
|
||||
- npm run build completa senza errori
|
||||
</acceptance_criteria>
|
||||
|
||||
<done>
|
||||
Tutti i requisiti CLEAN-01..04 sono marcati Complete nei planning docs.
|
||||
La build TypeScript è pulita. Phase 18 è formalmente chiusa.
|
||||
</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:human-verify" gate="blocking">
|
||||
<name>Checkpoint: Verifica visuale Dashboard e assenza rotte rimosse</name>
|
||||
|
||||
<what-built>
|
||||
Piano 01 ha rimosso /admin/forecast e /admin/quotes/new.
|
||||
Piano 02 ha fuso le statistiche di /admin/analytics nella Dashboard /admin
|
||||
e rimosso la rotta /admin/analytics.
|
||||
Il selettore anno nella dashboard naviga a /admin?year=X.
|
||||
</what-built>
|
||||
|
||||
<how-to-verify>
|
||||
1. Avvia il dev server: `npm run dev` (o `npx next dev`)
|
||||
2. Vai su http://localhost:3000/admin — verifica:
|
||||
- Sidebar: NON compare la voce "Forecast"
|
||||
- Dashboard: in fondo alla pagina compare la sezione "Statistiche" con selettore anno,
|
||||
MetricCard economiche (Contrattualizzato / Incassato / Da incassare / Clienti acquisiti),
|
||||
grafico mensile a barre, sezione ore per cliente
|
||||
- KPI card esistenti (Clienti attivi, Revenue totale, Progetti in corso, Pagamenti in sospeso)
|
||||
sono ancora presenti in cima
|
||||
- FollowUpWidget e feed attività sono ancora presenti
|
||||
3. Vai su http://localhost:3000/admin/forecast → deve restituire 404
|
||||
4. Vai su http://localhost:3000/admin/analytics → deve restituire 404
|
||||
5. Vai su http://localhost:3000/admin/quotes/new → deve restituire 404
|
||||
6. Clicca sul selettore anno nella sezione Statistiche → cambia anno e verifica che
|
||||
l'URL diventa /admin?year=XXXX (non /admin/analytics)
|
||||
7. Nel dettaglio di un lead, apri il modal "Invia preventivo" → verifica che NON
|
||||
compare più il bottone per creare un nuovo preventivo manuale
|
||||
</how-to-verify>
|
||||
|
||||
<resume-signal>
|
||||
Scrivi "ok" se tutto funziona correttamente.
|
||||
Se trovi problemi, descrivi cosa non funziona e l'esecuzione correggerà prima di chiudere la fase.
|
||||
</resume-signal>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<threat_model>
|
||||
## Trust Boundaries
|
||||
|
||||
| Boundary | Description |
|
||||
|----------|-------------|
|
||||
| planning docs → stato del progetto | Aggiornamento documenti di tracking — nessuna superficie di attacco |
|
||||
|
||||
## STRIDE Threat Register
|
||||
|
||||
| Threat ID | Category | Component | Disposition | Mitigation Plan |
|
||||
|-----------|----------|-----------|-------------|-----------------|
|
||||
| T-18-05 | Repudiation | ROADMAP.md / REQUIREMENTS.md | accept | I planning docs sono in git — ogni modifica è tracciata e reversibile |
|
||||
</threat_model>
|
||||
|
||||
<verification>
|
||||
Al termine del piano:
|
||||
1. REQUIREMENTS.md: CLEAN-01, CLEAN-02, CLEAN-03, CLEAN-04 → tutti "Complete"
|
||||
2. ROADMAP.md: fasi 13/15/16/17 con status esplicito
|
||||
3. npm run build → 0 errori
|
||||
4. Checkpoint umano superato (Dashboard mostra statistiche, rotte rimosse → 404)
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- CLEAN-04: fasi v2.1 residue formalmente chiuse nei planning docs
|
||||
- Planning docs aggiornati con stati finali Phase 18
|
||||
- Build pulita confermata
|
||||
- Verifica visuale umana completata
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `.planning/phases/18-cleanup-consolidamento/18-03-SUMMARY.md`
|
||||
</output>
|
||||
Reference in New Issue
Block a user