docs(14): mark phase complete, advance roadmap to Phase 15

phase complete 14: ROADMAP plans/progress, STATE position (Phase 15
next, blocked on user mockup), REQUIREMENTS CRM-08..12 -> Complete.
This commit is contained in:
2026-06-14 15:22:40 +02:00
parent 2c227f4ef1
commit fa5672025f
3 changed files with 33 additions and 32 deletions
+10 -10
View File
@@ -31,11 +31,11 @@ v2.0 (Phases 710) ha consegnato catalogo unificato, offerte con fasi, prevent
| ID | Requirement | Status | | ID | Requirement | Status |
|----|-------------|--------| |----|-------------|--------|
| CRM-08 | La tabella lead (`/admin/leads`) supporta inline editing dei campi principali (status, next_action, ecc.) senza apertura modale | Pending | | CRM-08 | La tabella lead (`/admin/leads`) supporta inline editing dei campi principali (status, next_action, ecc.) senza apertura modale | Complete |
| CRM-09 | L'utente assegna tag multi-select ai lead, creando nuovi tag al volo | Pending | | CRM-09 | L'utente assegna tag multi-select ai lead, creando nuovi tag al volo | Complete |
| CRM-10 | Il `FollowUpWidget` è in italiano, coerente col resto dell'app | Pending | | CRM-10 | Il `FollowUpWidget` è in italiano, coerente col resto dell'app | Complete |
| CRM-11 | Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form | Pending | | CRM-11 | Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form | Complete |
| CRM-12 | Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili | Pending | | CRM-12 | Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili | Complete |
## Dashboard — Revenue Stats (v1, bloccato su mockup utente) ## Dashboard — Revenue Stats (v1, bloccato su mockup utente)
@@ -98,11 +98,11 @@ Popolata dal roadmapper durante la creazione della roadmap.
| PROJ-08 | Phase 13 | Pending | | PROJ-08 | Phase 13 | Pending |
| PROJ-09 | Phase 13 | Pending | | PROJ-09 | Phase 13 | Pending |
| PROJ-10 | Phase 13 | Pending | | PROJ-10 | Phase 13 | Pending |
| CRM-08 | Phase 14 | Pending | | CRM-08 | Phase 14 | Complete |
| CRM-09 | Phase 14 | Pending | | CRM-09 | Phase 14 | Complete |
| CRM-10 | Phase 14 | Pending | | CRM-10 | Phase 14 | Complete |
| CRM-11 | Phase 14 | Pending | | CRM-11 | Phase 14 | Complete |
| CRM-12 | Phase 14 | Pending | | CRM-12 | Phase 14 | Complete |
| DASH-11 | Phase 15 | Blocked | | DASH-11 | Phase 15 | Blocked |
| PROP-03 | Phase 16 | Pending | | PROP-03 | Phase 16 | Pending |
| PROP-04 | Phase 16 | Pending | | PROP-04 | Phase 16 | Pending |
+7 -7
View File
@@ -11,7 +11,7 @@
- [x] **Phase 11: Catalog Database-View UX & Legacy Consolidation** - Catalogo `services` come tabella con inline edit, tag multi-select, quick-add, ricerca istantanea; consolidamento `service_catalog`/`offer_services``services` - [x] **Phase 11: Catalog Database-View UX & Legacy Consolidation** - Catalogo `services` come tabella con inline edit, tag multi-select, quick-add, ricerca istantanea; consolidamento `service_catalog`/`offer_services``services`
- [ ] **Phase 12: Offer Composition Drag&Drop & CSV Import** - Composizione offerte via drag&drop dal catalogo (`@dnd-kit`) con totale live; import CSV one-shot - [ ] **Phase 12: Offer Composition Drag&Drop & CSV Import** - Composizione offerte via drag&drop dal catalogo (`@dnd-kit`) con totale live; import CSV one-shot
- [ ] **Phase 13: Workspace — Servizi Attivi** - Tab "Preventivo" rimossa (UI-only), "Offerte" → "Servizi attivi" (one-shot/ricorrenti + tracking incassi mensili), rimozione pagina Forecast - [ ] **Phase 13: Workspace — Servizi Attivi** - Tab "Preventivo" rimossa (UI-only), "Offerte" → "Servizi attivi" (one-shot/ricorrenti + tracking incassi mensili), rimozione pagina Forecast
- [ ] **Phase 14: CRM Attio-style & Fix** - Redesign `/admin/leads` stile Attio/Pipedrive (inline edit + tag), fix FollowUpWidget IT / LeadForm types / SendQuoteModal rami irraggiungibili - [x] **Phase 14: CRM Attio-style & Fix** - Redesign `/admin/leads` stile Attio/Pipedrive (inline edit + tag), fix FollowUpWidget IT / LeadForm types / SendQuoteModal rami irraggiungibili (completed 2026-06-14)
- [ ] **Phase 15: Dashboard Revenue Stats** - Dashboard admin mostra statistiche revenue mensile (ex `/admin/forecast`) da `project_offers`**BLOCCATA**, attesa mockup utente - [ ] **Phase 15: Dashboard Revenue Stats** - Dashboard admin mostra statistiche revenue mensile (ex `/admin/forecast`) da `project_offers`**BLOCCATA**, attesa mockup utente
- [ ] **Phase 16: Proposal AI — Data Foundations & Auto-Provisioning** - Campo Stripe Payment Link su offerte/preventivi + auto-provisioning (client+progetto+fasi+pagamenti) all'accettazione - [ ] **Phase 16: Proposal AI — Data Foundations & Auto-Provisioning** - Campo Stripe Payment Link su offerte/preventivi + auto-provisioning (client+progetto+fasi+pagamenti) all'accettazione
- [ ] **Phase 17: Proposal AI — Builder, Pagina Pubblica & Email** - Builder AI proposta da cliente+offerta+note, redesign `/quote/[token]`, invio email Resend con link proposta - [ ] **Phase 17: Proposal AI — Builder, Pagina Pubblica & Email** - Builder AI proposta da cliente+offerta+note, redesign `/quote/[token]`, invio email Resend con link proposta
@@ -77,16 +77,16 @@
3. Il `FollowUpWidget` è interamente in italiano, coerente col resto dell'app 3. Il `FollowUpWidget` è interamente in italiano, coerente col resto dell'app
4. Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form 4. Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form
5. Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili 5. Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili
**Plans:** 3 plans **Plans:** 3/3 plans complete
Plans: Plans:
**Wave 1** **Wave 1**
- [ ] 14-01-PLAN.md — Data-layer foundation: getLeadsWithTags/getLeadFieldOptions query helpers + updateLeadField/addLeadTag/removeLeadTag/renameLeadTag server actions (requireAdmin-guarded) - [x] 14-01-PLAN.md — Data-layer foundation: getLeadsWithTags/getLeadFieldOptions query helpers + updateLeadField/addLeadTag/removeLeadTag/renameLeadTag server actions (requireAdmin-guarded)
- [ ] 14-03-PLAN.md — Bug fixes: FollowUpWidget Italian translation (CRM-10), LeadForm typed useForm (CRM-11), SendQuoteModal dead branch removal (CRM-12) - [x] 14-03-PLAN.md — Bug fixes: FollowUpWidget Italian translation (CRM-10), LeadForm typed useForm (CRM-11), SendQuoteModal dead branch removal (CRM-12)
**Wave 2** *(blocked on Wave 1 completion)* **Wave 2** *(blocked on Wave 1 completion)*
- [ ] 14-02-PLAN.md — LeadTable raw-table rewrite (inline edit + status dropdown + tag multi-select), LeadsSearch instant filter, page wiring, LeadDetail tags - [x] 14-02-PLAN.md — LeadTable raw-table rewrite (inline edit + status dropdown + tag multi-select), LeadsSearch instant filter, page wiring, LeadDetail tags
**UI hint**: yes — riferimento design Pipedrive/Attio (confermato dall'utente 2026-06-13) **UI hint**: yes — riferimento design Pipedrive/Attio (confermato dall'utente 2026-06-13)
**Status**: Planned **Status**: ✅ Complete (2026-06-14) — 5/5 success criteria verified, code review 0 critical/6 warnings/3 info
### Phase 15: Dashboard Revenue Stats ### Phase 15: Dashboard Revenue Stats
**Goal**: La Dashboard admin mostra le statistiche di revenue mensile (ex `/admin/forecast`), calcolate da `project_offers` **Goal**: La Dashboard admin mostra le statistiche di revenue mensile (ex `/admin/forecast`), calcolate da `project_offers`
@@ -131,7 +131,7 @@ Plans:
| 11. Catalog Database-View UX & Legacy Consolidation | 4/4 | ✅ Done | 2026-06-13 | | 11. Catalog Database-View UX & Legacy Consolidation | 4/4 | ✅ Done | 2026-06-13 |
| 12. Offer Composition Drag&Drop & CSV Import | — | Pending planning | — | | 12. Offer Composition Drag&Drop & CSV Import | — | Pending planning | — |
| 13. Workspace — Servizi Attivi | — | Pending planning | — | | 13. Workspace — Servizi Attivi | — | Pending planning | — |
| 14. CRM Attio-style & Fix | — | Pending planning (in progress) | — | | 14. CRM Attio-style & Fix | 3/3 | Complete | 2026-06-14 |
| 15. Dashboard Revenue Stats | — | Blocked (mockup utente) | — | | 15. Dashboard Revenue Stats | — | Blocked (mockup utente) | — |
| 16. Proposal AI — Data Foundations & Auto-Provisioning | — | Pending planning | — | | 16. Proposal AI — Data Foundations & Auto-Provisioning | — | Pending planning | — |
| 17. Proposal AI — Builder, Pagina Pubblica & Email | — | Pending planning | — | | 17. Proposal AI — Builder, Pagina Pubblica & Email | — | Pending planning | — |
+16 -15
View File
@@ -3,15 +3,15 @@ gsd_state_version: 1.0
milestone: v2.1 milestone: v2.1
milestone_name: milestone milestone_name: milestone
status: executing status: executing
stopped_at: Phase 14 UI-SPEC approved stopped_at: Phase 14 complete (5/5 success criteria verified); Phase 15 blocked on user mockup
last_updated: "2026-06-14T10:16:13.676Z" last_updated: "2026-06-14T13:20:53.997Z"
last_activity: 2026-06-14 -- Phase 14 planning complete last_activity: 2026-06-14 -- Phase 14 (crm-attio-style-fix) execution complete
progress: progress:
total_phases: 7 total_phases: 7
completed_phases: 1 completed_phases: 2
total_plans: 7 total_plans: 7
completed_plans: 4 completed_plans: 7
percent: 57 percent: 100
--- ---
# Project State # Project State
@@ -22,22 +22,22 @@ See: .planning/PROJECT.md (updated 2026-06-13)
**Core value:** Il cliente apre il link e vede esattamente a che punto è il suo progetto, cosa deve ancora succedere e cosa ha già approvato — senza dover scrivere email per chiedere aggiornamenti. **Core value:** Il cliente apre il link e vede esattamente a che punto è il suo progetto, cosa deve ancora succedere e cosa ha già approvato — senza dover scrivere email per chiedere aggiornamenti.
**Current focus:** Phase 14crm-attio-style-fix **Current focus:** Phase 15dashboard-revenue-stats (blocked on user mockup; Phase 14 complete)
## Current Position ## Current Position
Phase: 14 Phase: 15
Plan: Not started Plan: Not started
Status: Ready to execute Status: Blocked — Phase 15 awaiting user mockup (Phase 14 complete, see ROADMAP)
Last activity: 2026-06-14 -- Phase 14 planning complete Last activity: 2026-06-14 -- Phase 14 (crm-attio-style-fix) execution complete
Progress: [█████▒░░░░] 57% Progress: [██████████] 100%
## Performance Metrics ## Performance Metrics
**Velocity:** **Velocity:**
- Total plans completed: 4 (v2.1) - Total plans completed: 7 (v2.1)
- Average duration: — - Average duration: —
- Total execution time: — - Total execution time: —
@@ -47,6 +47,7 @@ Progress: [█████▒░░░░] 57%
|-------|-------|-------|----------| |-------|-------|-------|----------|
| Phase 11 P01 | 25min | 2 tasks | 6 files | | Phase 11 P01 | 25min | 2 tasks | 6 files |
| 11 | 4 | - | - | | 11 | 4 | - | - |
| 14 | 3 | - | - |
**Recent Trend:** **Recent Trend:**
@@ -99,6 +100,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity ## Session Continuity
Last session: 2026-06-14T08:54:38.362Z Last session: 2026-06-14T13:20:53.997Z
Stopped at: Phase 14 UI-SPEC approved Stopped at: Phase 14 complete (5/5 success criteria verified, code review 0 critical/6 warnings/3 info); Phase 15 blocked on user mockup
Resume file: .planning/phases/14-crm-attio-style-fix/14-UI-SPEC.md Resume file: .planning/phases/14-crm-attio-style-fix/14-VERIFICATION.md