docs: reset milestone v2.2 "Sales Loop"
Strategic reset after articulating the real sales flow (piano in .claude/plans/glittery-sprouting-pudding.md). v2.1 delivered Offer Studio (Phase 11+12) + CRM Attio (Phase 14); residual phases re-scoped: - Phase 13 (Servizi Attivi) → frozen (touches post-sale portal, kept as-is) - Phase 15 (Dashboard Revenue) → dropped (analytics merges into dashboard) - Phase 16/17 (Proposal AI) → re-scoped into v2.2 with transcripts added New milestone v2.2 = sales loop, Phase 18→22 (R1→R5): - R1 Cleanup: remove forecast + manual quote builder, merge analytics into dashboard - R2 Pipeline CRM Kanban (Pipedrive-style) - R3 Knowledge Base (dated call transcripts per lead/client) - R4 AI agent (admin picks offer, Claude personalizes proposal from transcripts) - R5 Public /preventivo/[slug] page + email New requirements: CLEAN-01..04, PIPE-01/02, KB-01/02, AI-01/02, PUB-01/02/03. Updated ROADMAP, REQUIREMENTS, STATE, PROJECT. No code changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+37
-24
@@ -8,15 +8,20 @@ Suite operativa per un consulente di personal branding, live su hub.iamcavalli.n
|
|||||||
|
|
||||||
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.
|
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 Milestone: v2.1 Offer Studio + Proposal AI
|
## Current Milestone: v2.2 Sales Loop *(reset 2026-06-19)*
|
||||||
|
|
||||||
**Goal:** Trasformare catalogo/offerte in una UX rapida stile Notion/Airtable (inline edit, tag, drag-to-compose), ristrutturare i tab del workspace progetto, ricostruire il CRM in stile Attio, poi chiudere con l'AI proposal builder → pagina pubblica → link pagamento.
|
**Contesto reset:** v2.1 ha consegnato Offer Studio (catalogo + offer editor) e il CRM Attio. Dopo aver articolato il flusso commerciale reale, le fasi residue v2.1 (13/15/16/17) sono congelate/abbandonate/ri-scopate. Piano completo: `.claude/plans/glittery-sprouting-pudding.md`.
|
||||||
|
|
||||||
**Target features:**
|
**Goal:** Chiudere il **loop di vendita** end-to-end: lead in pipeline Kanban (Pipedrive-style) → transcript datati delle call per cliente → agente AI (io scelgo l'offerta, l'AI personalizza) che genera il preventivo → pagina pubblica `/preventivo/[slug]` + invio email → vinto/perso manuale nel CRM. Il portale cliente post-vendita resta invariato.
|
||||||
- **Catalogo & Offerte (Offer Studio)** — vista database stile Notion/Airtable per servizi e offerte: inline editing, tag multi-select con creazione al volo, quick-add, filtri/ricerca istantanei, composizione offerta via drag&drop (`@dnd-kit`) con totale live, import CSV one-shot per seed
|
|
||||||
- **Workspace progetto** — rimuovere tab "Preventivo" (UI only, `quote_items` intatto — `accepted_total` resta editabile via Payments, zero perdita funzionale verificata); nuova tab "Servizi attivi" che assorbe "Offerte" (one-shot + ricorrenti mensili, schema per tracking incassi mese-per-mese); rimuovere pagina "Forecast", statistiche revenue mensile nella Dashboard
|
**Target features (Phase 18→22 / R1→R5):**
|
||||||
- **CRM custom Attio-style** — tabelle/viste con inline editing, tag, filtri; assorbe i fix minori noti (FollowUpWidget IT, LeadForm types, SendQuoteModal flow)
|
- **R1 Cleanup** — rimuovere Forecast e quote builder manuale; fondere `/admin/analytics` nella Dashboard (no doppioni)
|
||||||
- **Proposal AI** — preventivo builder AI (pesca cliente + offerta + info extra) → pagina pubblica HTML/CSS redesign → link pagamento (Stripe Payment Link su offerta); assorbe ex-Phase 11 (auto-provisioning al "Vinto": crea cliente+progetto+fasi+pagamenti) ed ex-Phase 12 (notifiche email Resend per invio link)
|
- **R2 Pipeline Kanban** — board lead stile Pipedrive con drag-drop tra stage; vinto/perso = cambio-colonna manuale
|
||||||
|
- **R3 Knowledge Base** — schema + UI per transcript datati multipli per lead/cliente
|
||||||
|
- **R4 Agente AI** — builder: admin sceglie cliente+offerta, l'AI (Claude) legge transcript + offerta → bozza preventivo; admin revisiona
|
||||||
|
- **R5 Pagina pubblica** — `/preventivo/[slug]` HTML/CSS, accept/reject → CRM, invio link via email (Resend)
|
||||||
|
|
||||||
|
**Backlog post-R5** (ex Proposal AI v2.1): Stripe Payment Link su offerta (PROP-03) + auto-provisioning cliente/progetto/fasi/pagamenti al "Vinto" (PROP-04). Phase 13 (Servizi attivi/ricorrenti post-vendita) congelata, ripescabile.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@@ -43,29 +48,37 @@ Shipped in v2.0 (Phases 7–10, in produzione su hub.iamcavalli.net):
|
|||||||
- ✓ Preventivo pubblico `/quote/[token]`: stati draft→sent→viewed→accepted/rejected, `accepted_at` immutabile, raccolta email/note cliente — Phase 9
|
- ✓ Preventivo pubblico `/quote/[token]`: stati draft→sent→viewed→accepted/rejected, `accepted_at` immutabile, raccolta email/note cliente — Phase 9
|
||||||
- ✓ CRM pipeline lead: stati, activity log, reminder follow-up in dashboard — Phase 10
|
- ✓ CRM pipeline lead: stati, activity log, reminder follow-up in dashboard — Phase 10
|
||||||
|
|
||||||
Validated in v2.1 (in corso):
|
Validated in v2.1 (consegnato, in prod):
|
||||||
|
|
||||||
|
- ✓ Catalogo `services` come vista database (inline edit, tag multi-select, quick-add, ricerca istantanea) + consolidamento legacy — Phase 11 (OFFER-07..10, OFFER-13)
|
||||||
|
- ✓ Offer Editor: lista filtrabile/archiviabile + 3 tier A/B/C via matrice checkbox, totale live, prezzo pubblico manuale, tag 4-dimensioni, promessa di trasformazione — Phase 12 (OFFER-11, OFFER-15..18). 55 servizi reali + tag offerta caricati.
|
||||||
- ✓ CRM custom Attio-style: `/admin/leads` ridisegnata come tabella inline-edit (status, next_action, ecc.) + tag multi-select con creazione al volo; FollowUpWidget interamente in italiano; `LeadForm` tipizzato senza `useForm<any>`; `SendQuoteModal`/`assignQuoteToLead` senza rami di codice irraggiungibili — Phase 14 (CRM-08, CRM-09, CRM-10, CRM-11, CRM-12)
|
- ✓ CRM custom Attio-style: `/admin/leads` ridisegnata come tabella inline-edit (status, next_action, ecc.) + tag multi-select con creazione al volo; FollowUpWidget interamente in italiano; `LeadForm` tipizzato senza `useForm<any>`; `SendQuoteModal`/`assignQuoteToLead` senza rami di codice irraggiungibili — Phase 14 (CRM-08, CRM-09, CRM-10, CRM-11, CRM-12)
|
||||||
|
|
||||||
### Active
|
### Active — v2.2 Sales Loop (reset 2026-06-19)
|
||||||
|
|
||||||
**Catalogo & Offerte — Offer Studio (priorità 1):**
|
**R1 Cleanup & Consolidamento (Phase 18):**
|
||||||
- [ ] Vista database stile Notion/Airtable per servizi e offerte: inline editing, tag multi-select con creazione al volo, quick-add, filtri/ricerca istantanei
|
- [ ] Rimuovere pagina Forecast (`/admin/forecast`) + voce sidebar (CLEAN-01)
|
||||||
- [ ] Composizione offerta via drag&drop servizi dal catalogo (`@dnd-kit`) con totale live
|
- [ ] Rimuovere quote builder manuale (`/admin/quotes/new`) (CLEAN-02)
|
||||||
- [ ] Import CSV one-shot per seed pacchetti esistenti (porta d'ingresso, non fonte di verità)
|
- [ ] Fondere `/admin/analytics` nella Dashboard `/admin`, eliminare la rotta duplicata (CLEAN-03)
|
||||||
- [ ] Consolidamento finale `service_catalog` + `offer_services` legacy → `services` (carry-over da v2.0)
|
|
||||||
|
|
||||||
**Workspace progetto (priorità 2):**
|
**R2 Pipeline CRM Kanban (Phase 19):**
|
||||||
- [ ] Rimuovere tab "Preventivo" (solo UI — `quote_items` resta intatto, `accepted_total` già editabile via Payments)
|
- [ ] Board lead stile Pipedrive con colonne per stage + drag-drop (PIPE-01)
|
||||||
- [ ] Nuova tab "Servizi attivi" che assorbe "Offerte": offerte one-shot + ricorrenti mensili
|
- [ ] Vinto/perso come cambio-colonna manuale (PIPE-02)
|
||||||
- [ ] Schema per tracking incassi mese-per-mese sulle offerte ricorrenti (UI può arrivare dopo)
|
|
||||||
- [ ] Rimuovere pagina "Forecast"; statistiche revenue mensile nella Dashboard (UI dopo mockup utente)
|
|
||||||
|
|
||||||
**Proposal AI (priorità 3, ultimo miglio):**
|
**R3 Knowledge Base Cliente (Phase 20):**
|
||||||
- [ ] Preventivo Builder AI: genera proposta da cliente + offerta + info extra fornite dall'utente
|
- [ ] Schema additivo transcript datati multipli per lead/cliente (KB-01)
|
||||||
- [ ] Redesign pagina pubblica preventivo (HTML/CSS) con link pagamento (Stripe Payment Link su offerta)
|
- [ ] UI per incollare/elencare transcript nel profilo (KB-02)
|
||||||
- [ ] Auto-provisioning al "Vinto"/accettazione: crea cliente + progetto + fasi copiate + 1-4 pagamenti (ex-Phase 11)
|
|
||||||
- [ ] Notifiche email per invio link preventivo/proposta (ex-Phase 12, Resend)
|
**R4 Agente AI — generazione preventivo (Phase 21):**
|
||||||
|
- [ ] Builder: admin sceglie cliente+offerta, l'AI (Claude) legge transcript + offerta → bozza preventivo (AI-01)
|
||||||
|
- [ ] Admin rivede/edita la bozza prima di pubblicare (AI-02)
|
||||||
|
|
||||||
|
**R5 Pagina pubblica `/preventivo/[slug]` + email (Phase 22):**
|
||||||
|
- [ ] Pagina pubblica HTML/CSS della proposta (PUB-01)
|
||||||
|
- [ ] Accept/reject → riflesso nel CRM (PUB-02)
|
||||||
|
- [ ] Invio link proposta via email Resend (PUB-03)
|
||||||
|
|
||||||
|
**Backlog (post-R5):** Stripe Payment Link su offerta (PROP-03), auto-provisioning al "Vinto" (PROP-04), Servizi attivi/ricorrenti post-vendita (ex Phase 13).
|
||||||
|
|
||||||
### Out of Scope
|
### Out of Scope
|
||||||
|
|
||||||
|
|||||||
+91
-28
@@ -1,10 +1,12 @@
|
|||||||
# Requirements — ClientHub v2.1 Offer Studio + Proposal AI
|
# Requirements — ClientHub (v2.1 chiuso → v2.2 Sales Loop)
|
||||||
|
|
||||||
**Defined:** 2026-06-13
|
**Defined:** 2026-06-13 · **Reset:** 2026-06-19
|
||||||
**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.
|
||||||
|
|
||||||
v2.0 (Phases 7–10) ha consegnato catalogo unificato, offerte con fasi, preventivo pubblico e CRM pipeline (vedi MILESTONES.md, REQUIREMENTS.md archiviato in `.planning/milestones/v2.0-REQUIREMENTS.md`). v2.1 rifà la UX di catalogo/offerte in stile database-view, ristruttura il workspace progetto, ricostruisce il CRM in stile Attio e chiude il loop commerciale con un builder preventivi AI.
|
v2.0 (Phases 7–10) ha consegnato catalogo unificato, offerte con fasi, preventivo pubblico e CRM pipeline (vedi MILESTONES.md, REQUIREMENTS.md archiviato in `.planning/milestones/v2.0-REQUIREMENTS.md`). v2.1 rifà la UX di catalogo/offerte in stile database-view, ristruttura il workspace progetto, ricostruisce il CRM in stile Attio e chiude il loop commerciale con un builder preventivi AI.
|
||||||
|
|
||||||
|
> **RESET 2026-06-19 — milestone v2.2 "Sales Loop".** v2.1 ha consegnato Offer Studio (Phase 11+12) e CRM Attio (Phase 14). Le fasi residue v2.1 — **13 (Servizi Attivi), 15 (Dashboard Revenue), 16/17 (Proposal AI originali)** — sono state **congelate/abbandonate/ri-scopate** dopo che l'utente ha articolato il flusso commerciale reale (vedi piano `.claude/plans/glittery-sprouting-pudding.md`). Il nuovo north-star è il **loop di vendita**: lead in pipeline Kanban → transcript call → agente AI genera preventivo → pagina pubblica `/preventivo/[slug]` → vinto/perso. Requirements attivi: sezione **v2.2** più sotto.
|
||||||
|
|
||||||
## Offer Studio — Catalogo & Offerte (v1)
|
## Offer Studio — Catalogo & Offerte (v1)
|
||||||
|
|
||||||
| ID | Requirement | Status |
|
| ID | Requirement | Status |
|
||||||
@@ -20,15 +22,17 @@ v2.0 (Phases 7–10) ha consegnato catalogo unificato, offerte con fasi, prevent
|
|||||||
| OFFER-18 | La lista offerte è filtrabile per categoria e supporta l'archiviazione (mostra/nascondi archiviate) | Complete |
|
| OFFER-18 | La lista offerte è filtrabile per categoria e supporta l'archiviazione (mostra/nascondi archiviate) | Complete |
|
||||||
| OFFER-13 | I dati legacy di `service_catalog` e `offer_services` sono consolidati in `services` senza perdita (migration additiva) | Complete |
|
| OFFER-13 | I dati legacy di `service_catalog` e `offer_services` sono consolidati in `services` senza perdita (migration additiva) | Complete |
|
||||||
|
|
||||||
## Workspace Progetto — Servizi Attivi (v1)
|
## Workspace Progetto — Servizi Attivi (ex Phase 13 — CONGELATO v2.2)
|
||||||
|
|
||||||
|
> Congelato dal reset 2026-06-19: tocca il portale post-vendita che l'utente vuole lasciare invariato. Ripescabile in futuro se serve il tracking ricavi ricorrenti. (PROJ-10 "rimuovi Forecast" è confluito in CLEAN-01 v2.2.)
|
||||||
|
|
||||||
| ID | Requirement | Status |
|
| ID | Requirement | Status |
|
||||||
|----|-------------|--------|
|
|----|-------------|--------|
|
||||||
| PROJ-06 | La tab "Preventivo" è rimossa dal workspace progetto (solo UI — `quote_items` resta intatta, `accepted_total` resta editabile via tab Pagamenti) | Pending |
|
| PROJ-06 | La tab "Preventivo" è rimossa dal workspace progetto (solo UI — `quote_items` resta intatta, `accepted_total` resta editabile via tab Pagamenti) | Congelato (v2.2) |
|
||||||
| PROJ-07 | La tab "Offerte" diventa "Servizi attivi": mostra tutte le offerte assegnate al progetto (`project_offers`) | Pending |
|
| PROJ-07 | La tab "Offerte" diventa "Servizi attivi": mostra tutte le offerte assegnate al progetto (`project_offers`) | Congelato (v2.2) |
|
||||||
| PROJ-08 | L'utente marca ogni "servizio attivo" come one-shot o ricorrente mensile | Pending |
|
| PROJ-08 | L'utente marca ogni "servizio attivo" come one-shot o ricorrente mensile | Congelato (v2.2) |
|
||||||
| PROJ-09 | Per i servizi ricorrenti, l'utente registra in quali mesi è stata incassata la fattura (schema nuovo, additivo — UI può essere minimale) | Pending |
|
| PROJ-09 | Per i servizi ricorrenti, l'utente registra in quali mesi è stata incassata la fattura (schema nuovo, additivo — UI può essere minimale) | Congelato (v2.2) |
|
||||||
| PROJ-10 | La pagina "Forecast" e la relativa voce di sidebar sono rimosse | Pending |
|
| PROJ-10 | La pagina "Forecast" e la relativa voce di sidebar sono rimosse | → CLEAN-01 (v2.2) |
|
||||||
|
|
||||||
## CRM Custom Attio-style (v1)
|
## CRM Custom Attio-style (v1)
|
||||||
|
|
||||||
@@ -40,21 +44,67 @@ v2.0 (Phases 7–10) ha consegnato catalogo unificato, offerte con fasi, prevent
|
|||||||
| CRM-11 | Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form | Complete |
|
| 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 | Complete |
|
| 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 (ex Phase 15 — ABBANDONATO v2.2)
|
||||||
|
|
||||||
|
> Abbandonato dal reset 2026-06-19: mockup mai arrivato, valore dubbio nel nuovo flusso. L'esigenza analytics è coperta da CLEAN-03 (fusione `/admin/analytics` nella dashboard, no fase dedicata).
|
||||||
|
|
||||||
| ID | Requirement | Status |
|
| ID | Requirement | Status |
|
||||||
|----|-------------|--------|
|
|----|-------------|--------|
|
||||||
| DASH-11 | La Dashboard admin mostra le statistiche di revenue mensile (ex `/admin/forecast`, calcolate da `project_offers`) | Blocked — attesa mockup dashboard utente |
|
| DASH-11 | La Dashboard admin mostra le statistiche di revenue mensile (ex `/admin/forecast`, calcolate da `project_offers`) | Dropped (v2.2 → CLEAN-03) |
|
||||||
|
|
||||||
## Proposal AI (v1)
|
## Proposal AI — versione v2.1 originale (SUPERSEDED da v2.2)
|
||||||
|
|
||||||
|
> Ri-scopata dal reset 2026-06-19 nelle fasi v2.2 (PIPE/KB/AI/PUB) con il flusso chiaro + l'aggiunta dei transcript (che mancava). PROP-03 (Stripe Payment Link) e PROP-04 (auto-provisioning al "Vinto") restano backlog: non nel loop minimo, da rivalutare dopo R5.
|
||||||
|
|
||||||
| ID | Requirement | Status |
|
| ID | Requirement | Status |
|
||||||
|----|-------------|--------|
|
|----|-------------|--------|
|
||||||
| PROP-01 | L'admin avvia un builder AI che genera una proposta a partire da cliente + offerta(e) selezionata(e) + note extra fornite manualmente | Pending |
|
| PROP-01 | L'admin avvia un builder AI che genera una proposta a partire da cliente + offerta(e) selezionata(e) + note extra fornite manualmente | Superseded → AI-01/AI-02 (v2.2) |
|
||||||
| PROP-02 | La pagina pubblica `/quote/[token]` è ridisegnata (HTML/CSS) per presentare la proposta generata | Pending |
|
| PROP-02 | La pagina pubblica `/quote/[token]` è ridisegnata (HTML/CSS) per presentare la proposta generata | Superseded → PUB-01 (v2.2) |
|
||||||
| PROP-03 | Ogni offerta/preventivo ha un campo "link di pagamento" (Stripe Payment Link) mostrato come CTA nella pagina pubblica | Pending |
|
| PROP-03 | Ogni offerta/preventivo ha un campo "link di pagamento" (Stripe Payment Link) mostrato come CTA nella pagina pubblica | Backlog (post-R5) |
|
||||||
| PROP-04 | All'accettazione del preventivo, il sistema crea automaticamente cliente + progetto, copia le fasi dall'offerta e configura 1-4 pagamenti (ex-Phase 11 WIN-01..06) | Pending |
|
| PROP-04 | All'accettazione del preventivo, il sistema crea automaticamente cliente + progetto, copia le fasi dall'offerta e configura 1-4 pagamenti (ex-Phase 11 WIN-01..06) | Backlog (post-R5) |
|
||||||
| PROP-05 | Il sistema invia via email (Resend) il link della proposta pubblica al lead (ex-Phase 12) | Pending |
|
| PROP-05 | Il sistema invia via email (Resend) il link della proposta pubblica al lead (ex-Phase 12) | Superseded → PUB-03 (v2.2) |
|
||||||
|
|
||||||
|
## v2.2 — Sales Loop: Lead → AI → Preventivo (ATTIVO)
|
||||||
|
|
||||||
|
> Reset 2026-06-19. Il flusso commerciale articolato dall'utente sostituisce le fasi residue v2.1. Fasi eseguite in ordine R1→R5 (numerazione GSD continua: Phase 18→22). Le fasi 11/12/14 restano completate.
|
||||||
|
|
||||||
|
### Cleanup & Consolidamento (Phase 18 / R1)
|
||||||
|
|
||||||
|
| ID | Requirement | Status |
|
||||||
|
|----|-------------|--------|
|
||||||
|
| CLEAN-01 | La pagina Forecast (`/admin/forecast`) e la sua voce di sidebar sono rimosse | Pending |
|
||||||
|
| CLEAN-02 | Il quote builder manuale (`/admin/quotes/new`) e il suo entry point sono rimossi (superato dall'agente AI) | Pending |
|
||||||
|
| CLEAN-03 | Le statistiche di `/admin/analytics` sono fuse nella Dashboard `/admin` (vista unica); la rotta duplicata è eliminata | Pending |
|
||||||
|
| CLEAN-04 | Le fasi v2.1 residue (13/15/16/17) sono archiviate/ri-scopate nel planning | In corso (questo reset) |
|
||||||
|
|
||||||
|
### Pipeline CRM Kanban (Phase 19 / R2)
|
||||||
|
|
||||||
|
| ID | Requirement | Status |
|
||||||
|
|----|-------------|--------|
|
||||||
|
| PIPE-01 | I lead sono visualizzabili in una board Kanban stile Pipedrive con colonne per stage e drag-drop per cambiare stage | Pending |
|
||||||
|
| PIPE-02 | Spostare un lead nelle colonne "Vinto"/"Perso" è il cambio-stato manuale dell'esito | Pending |
|
||||||
|
|
||||||
|
### Knowledge Base Cliente — Transcript (Phase 20 / R3)
|
||||||
|
|
||||||
|
| ID | Requirement | Status |
|
||||||
|
|----|-------------|--------|
|
||||||
|
| KB-01 | Schema additivo per memorizzare transcript datati e multipli per lead/cliente | Pending |
|
||||||
|
| KB-02 | L'admin incolla ed elenca i transcript (storico ordinato per data) nel dettaglio lead/cliente | Pending |
|
||||||
|
|
||||||
|
### Agente AI — Generazione preventivo (Phase 21 / R4)
|
||||||
|
|
||||||
|
| ID | Requirement | Status |
|
||||||
|
|----|-------------|--------|
|
||||||
|
| AI-01 | L'admin seleziona cliente + offerta; l'agente AI (Claude) legge i transcript + i dati dell'offerta e genera una bozza di preventivo personalizzata | Pending |
|
||||||
|
| AI-02 | L'admin rivede ed edita la bozza generata prima di pubblicarla | Pending |
|
||||||
|
|
||||||
|
### Pagina pubblica preventivo + email (Phase 22 / R5)
|
||||||
|
|
||||||
|
| ID | Requirement | Status |
|
||||||
|
|----|-------------|--------|
|
||||||
|
| PUB-01 | La proposta generata è pubblicata come pagina pubblica HTML/CSS a `/preventivo/[slug]` (evolve la meccanica di `/quote/[token]`) | Pending |
|
||||||
|
| PUB-02 | Il cliente accetta/rifiuta dalla pagina; l'esito si riflette nel CRM (conferma vinto/perso manuale lato admin) | Pending |
|
||||||
|
| PUB-03 | Il link della proposta viene inviato al lead via email (Resend) | Pending |
|
||||||
|
|
||||||
## v2 Requirements (Deferred)
|
## v2 Requirements (Deferred)
|
||||||
|
|
||||||
@@ -101,23 +151,36 @@ Popolata dal roadmapper durante la creazione della roadmap.
|
|||||||
| OFFER-17 | Phase 12 | Complete |
|
| OFFER-17 | Phase 12 | Complete |
|
||||||
| OFFER-18 | Phase 12 | Complete |
|
| OFFER-18 | Phase 12 | Complete |
|
||||||
| OFFER-12 | Deferred (v2) | Rimandato 2026-06-14 |
|
| OFFER-12 | Deferred (v2) | Rimandato 2026-06-14 |
|
||||||
| PROJ-06 | Phase 13 | Pending |
|
| PROJ-06 | Phase 13 | Congelato (v2.2) |
|
||||||
| PROJ-07 | Phase 13 | Pending |
|
| PROJ-07 | Phase 13 | Congelato (v2.2) |
|
||||||
| PROJ-08 | Phase 13 | Pending |
|
| PROJ-08 | Phase 13 | Congelato (v2.2) |
|
||||||
| PROJ-09 | Phase 13 | Pending |
|
| PROJ-09 | Phase 13 | Congelato (v2.2) |
|
||||||
| PROJ-10 | Phase 13 | Pending |
|
| PROJ-10 | Phase 13 | → CLEAN-01 |
|
||||||
| CRM-08 | Phase 14 | Complete |
|
| CRM-08 | Phase 14 | Complete |
|
||||||
| CRM-09 | Phase 14 | Complete |
|
| CRM-09 | Phase 14 | Complete |
|
||||||
| CRM-10 | Phase 14 | Complete |
|
| CRM-10 | Phase 14 | Complete |
|
||||||
| CRM-11 | Phase 14 | Complete |
|
| CRM-11 | Phase 14 | Complete |
|
||||||
| CRM-12 | Phase 14 | Complete |
|
| CRM-12 | Phase 14 | Complete |
|
||||||
| DASH-11 | Phase 15 | Blocked |
|
| DASH-11 | Phase 15 | Dropped (→ CLEAN-03) |
|
||||||
| PROP-03 | Phase 16 | Pending |
|
| PROP-03 | Phase 16 | Backlog (post-R5) |
|
||||||
| PROP-04 | Phase 16 | Pending |
|
| PROP-04 | Phase 16 | Backlog (post-R5) |
|
||||||
| PROP-01 | Phase 17 | Pending |
|
| PROP-01 | Phase 17 | Superseded → AI-01/02 |
|
||||||
| PROP-02 | Phase 17 | Pending |
|
| PROP-02 | Phase 17 | Superseded → PUB-01 |
|
||||||
| PROP-05 | Phase 17 | Pending |
|
| PROP-05 | Phase 17 | Superseded → PUB-03 |
|
||||||
|
| CLEAN-01 | Phase 18 (R1) | Pending |
|
||||||
|
| CLEAN-02 | Phase 18 (R1) | Pending |
|
||||||
|
| CLEAN-03 | Phase 18 (R1) | Pending |
|
||||||
|
| CLEAN-04 | Phase 18 (R1) | In corso |
|
||||||
|
| PIPE-01 | Phase 19 (R2) | Pending |
|
||||||
|
| PIPE-02 | Phase 19 (R2) | Pending |
|
||||||
|
| KB-01 | Phase 20 (R3) | Pending |
|
||||||
|
| KB-02 | Phase 20 (R3) | Pending |
|
||||||
|
| AI-01 | Phase 21 (R4) | Pending |
|
||||||
|
| AI-02 | Phase 21 (R4) | Pending |
|
||||||
|
| PUB-01 | Phase 22 (R5) | Pending |
|
||||||
|
| PUB-02 | Phase 22 (R5) | Pending |
|
||||||
|
| PUB-03 | Phase 22 (R5) | Pending |
|
||||||
|
|
||||||
---
|
---
|
||||||
*Requirements defined: 2026-06-13*
|
*Requirements defined: 2026-06-13*
|
||||||
*Last updated: 2026-06-18 — Phase 12 complete: OFFER-11, OFFER-15, OFFER-16, OFFER-17, OFFER-18 → Complete*
|
*Last updated: 2026-06-19 — RESET v2.2 "Sales Loop": Phase 13 congelata, 15 abbandonata, 16/17 ri-scopate; nuovi requirements CLEAN/PIPE/KB/AI/PUB (Phase 18→22)*
|
||||||
|
|||||||
+88
-13
@@ -1,23 +1,32 @@
|
|||||||
# Roadmap: ClientHub v2.1 Offer Studio + Proposal AI
|
# Roadmap: ClientHub — v2.1 (chiuso) → v2.2 Sales Loop
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
**v2.0 (Phases 1–10, Complete)**: ClientHub è una suite operativa completa — catalogo servizi unificato, offerte con fasi, preventivo pubblico (`/quote/[token]`), CRM pipeline lead con activity log. Archiviato in `.planning/milestones/v2.0-ROADMAP.md`.
|
**v2.0 (Phases 1–10, Complete)**: ClientHub è una suite operativa completa — catalogo servizi unificato, offerte con fasi, preventivo pubblico (`/quote/[token]`), CRM pipeline lead con activity log. Archiviato in `.planning/milestones/v2.0-ROADMAP.md`.
|
||||||
|
|
||||||
**v2.1 (Phases 11–17, Planning)**: Rifare la UX di catalogo/offerte in stile database-view (Notion-like), ristrutturare il workspace progetto (Preventivo → Servizi Attivi, rimozione Forecast), ricostruire il CRM in stile Attio/Pipedrive (inline edit, tag, fix bug residui), e chiudere il loop commerciale con un builder preventivi AI + invio email + auto-provisioning. Numerazione fasi: v2.0 ha chiuso a Phase 10; v2.1 parte da Phase 11.
|
**v2.1 (Phases 11–17) — PARZIALE / CHIUSO dal reset 2026-06-19**: ha consegnato Offer Studio (Phase 11 catalogo database-view + Phase 12 offer editor tier A/B/C) e CRM Attio-style (Phase 14). Le fasi residue **13/15/16/17 sono congelate/abbandonate/ri-scopate** (vedi sotto).
|
||||||
|
|
||||||
|
**v2.2 (Phases 18–22, Sales Loop) — ATTIVO**: dopo che l'utente ha articolato il flusso commerciale reale (piano `.claude/plans/glittery-sprouting-pudding.md`), il focus diventa il **loop di vendita**: cleanup dei doppioni → pipeline CRM Kanban (Pipedrive-style) → knowledge base transcript per cliente → agente AI che genera il preventivo → pagina pubblica `/preventivo/[slug]` + email. Numerazione GSD continua: v2.2 parte da Phase 18. Le fasi R1–R5 mappano su Phase 18–22.
|
||||||
|
|
||||||
## Phases
|
## Phases
|
||||||
|
|
||||||
- [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`
|
||||||
- [x] **Phase 12: Offer Editor — Tier A/B/C, Tag & Prezzo Pubblico** - Editor offerte completo: lista filtrabile + 3 tier (A/B/C) via matrice checkbox sui servizi `services`, totale live per tier, prezzo pubblico manuale, tag multi-dimensione, promessa di trasformazione (import CSV/Notion rimandato) (completed 2026-06-15)
|
- [x] **Phase 12: Offer Editor — Tier A/B/C, Tag & Prezzo Pubblico** - Editor offerte completo: lista filtrabile + 3 tier (A/B/C) via matrice checkbox sui servizi `services`, totale live per tier, prezzo pubblico manuale, tag multi-dimensione, promessa di trasformazione (completed 2026-06-18)
|
||||||
- [ ] **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** - ❌ CONGELATA (reset 2026-06-19): tocca il post-vendita lasciato invariato; ripescabile in futuro
|
||||||
- [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)
|
- [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** - ❌ ABBANDONATA (reset 2026-06-19): mockup mai arrivato; analytics confluisce nella dashboard via CLEAN-03
|
||||||
- [ ] **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** - ❌ RI-SCOPATA in v2.2; Stripe Payment Link + auto-provisioning → backlog post-R5
|
||||||
- [ ] **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** - ❌ RI-SCOPATA in v2.2 (Phase 21/22 con transcript + flusso chiaro)
|
||||||
|
- [ ] **Phase 18 (R1): Cleanup & Consolidamento** - Rimuovi Forecast + quote builder manuale; fondi `/admin/analytics` nella dashboard; archivia fasi residue v2.1
|
||||||
|
- [ ] **Phase 19 (R2): Pipeline CRM Kanban** - Board lead stile Pipedrive con colonne per stage + drag-drop; vinto/perso come cambio-colonna manuale
|
||||||
|
- [ ] **Phase 20 (R3): Knowledge Base Cliente (transcript)** - Schema additivo + UI per incollare transcript datati multipli per lead/cliente
|
||||||
|
- [ ] **Phase 21 (R4): Agente AI — generazione preventivo** - Builder: admin sceglie cliente+offerta, l'AI (Claude) legge transcript + offerta e genera bozza preventivo; admin revisiona
|
||||||
|
- [ ] **Phase 22 (R5): Pagina pubblica `/preventivo/[slug]` + email** - Pagina pubblica HTML/CSS, accept/reject → CRM, invio link via email (Resend)
|
||||||
|
|
||||||
## Phase Details
|
## Phase Details
|
||||||
|
|
||||||
|
> **Reset 2026-06-19**: i dettagli delle fasi 13/15/16/17 sotto sono conservati per storico ma quelle fasi sono **cancellate/congelate** (vedi checklist Phases sopra e Progress sotto). Le fasi attive sono **18–22 (R1–R5)**, in fondo a questa sezione.
|
||||||
|
|
||||||
### Phase 11: Catalog Database-View UX & Legacy Consolidation
|
### Phase 11: Catalog Database-View UX & Legacy Consolidation
|
||||||
**Goal**: L'utente vede ed edita il catalogo servizi come una tabella stile database (Notion-like) — inline editing, tag multi-select, quick-add, ricerca istantanea — su un'unica tabella `services` consolidata senza perdita di dati legacy
|
**Goal**: L'utente vede ed edita il catalogo servizi come una tabella stile database (Notion-like) — inline editing, tag multi-select, quick-add, ricerca istantanea — su un'unica tabella `services` consolidata senza perdita di dati legacy
|
||||||
**Mode:** migration + ui
|
**Mode:** migration + ui
|
||||||
@@ -137,14 +146,80 @@ Plans:
|
|||||||
**UI hint**: yes
|
**UI hint**: yes
|
||||||
**Status**: Pending planning
|
**Status**: Pending planning
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v2.2 — Sales Loop (fasi attive)
|
||||||
|
|
||||||
|
### Phase 18 (R1): Cleanup & Consolidamento
|
||||||
|
**Goal**: Sgomberare il campo dai doppioni e dal peso morto prima di costruire il loop di vendita, senza perdere dati.
|
||||||
|
**Mode:** ui (solo rimozioni/rotte, nessun drop di tabelle)
|
||||||
|
**Depends on**: nessuna (può partire subito)
|
||||||
|
**Requirements**: CLEAN-01, CLEAN-02, CLEAN-03, CLEAN-04
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. La pagina Forecast (`/admin/forecast`) e la sua voce di sidebar non esistono più
|
||||||
|
2. Il quote builder manuale (`/admin/quotes/new`) e il suo entry point non esistono più
|
||||||
|
3. Le statistiche annuali di `/admin/analytics` sono visibili nella Dashboard `/admin` come vista unica; la rotta `/admin/analytics` è eliminata (nessun doppione)
|
||||||
|
4. Le fasi v2.1 residue (13/15/16/17) sono marcate cancellate/congelate nel planning
|
||||||
|
**Status**: Pending planning — `/gsd-plan-phase 18`
|
||||||
|
|
||||||
|
### Phase 19 (R2): Pipeline CRM Kanban
|
||||||
|
**Goal**: I lead si gestiscono in una board Kanban stile Pipedrive con drag-drop tra gli stage; vinto/perso è un cambio-colonna manuale.
|
||||||
|
**Mode:** ui
|
||||||
|
**Depends on**: Phase 14 (CRM lead esistente). Riusa `@dnd-kit` (pattern KanbanBoard progetti).
|
||||||
|
**Requirements**: PIPE-01, PIPE-02
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. I lead sono mostrati in colonne per stage (contacted → qualified → proposal_sent → negotiating → won/lost) con drag-drop che aggiorna `leads.status`
|
||||||
|
2. La tabella inline-edit esistente resta disponibile come vista alternativa
|
||||||
|
3. Spostare un lead su "Vinto"/"Perso" è l'azione manuale che ne registra l'esito
|
||||||
|
**Status**: Pending planning — `/gsd-plan-phase 19`
|
||||||
|
|
||||||
|
### Phase 20 (R3): Knowledge Base Cliente (transcript)
|
||||||
|
**Goal**: Memorizzare i transcript datati delle call (multipli per lead/cliente) e mostrarli nel profilo, pronti per essere dati in pasto all'AI.
|
||||||
|
**Mode:** schema + ui
|
||||||
|
**Depends on**: Phase 14 (lead) / clienti. Migration a prod via SSH PRIMA del codice dipendente.
|
||||||
|
**Requirements**: KB-01, KB-02
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. Esiste uno schema additivo `client_transcripts` (lead_id/client_id, testo, data, titolo/tipo, created_at)
|
||||||
|
2. L'admin incolla un transcript con data dal dettaglio lead/cliente
|
||||||
|
3. I transcript sono elencati in ordine cronologico nel profilo
|
||||||
|
**Status**: Pending planning — `/gsd-plan-phase 20`
|
||||||
|
|
||||||
|
### Phase 21 (R4): Agente AI — generazione preventivo
|
||||||
|
**Goal**: L'admin seleziona cliente + offerta; l'agente AI (Claude) legge i transcript + i dati dell'offerta e genera una bozza di preventivo personalizzata, che l'admin può rivedere ed editare.
|
||||||
|
**Mode:** ai + ui
|
||||||
|
**Depends on**: Phase 20 (transcript) + DB Offerte (Phase 11/12, fatto)
|
||||||
|
**Requirements**: AI-01, AI-02
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. Dal builder l'admin sceglie cliente + offerta e lancia la generazione
|
||||||
|
2. L'AI produce una bozza di preventivo che riflette i transcript del cliente e i contenuti dell'offerta
|
||||||
|
3. L'admin rivede/edita la bozza prima di pubblicarla
|
||||||
|
**Note**: decisioni di design AI (modello Claude, prompt, storage output) in fase di planning dedicata
|
||||||
|
**Status**: Pending planning — `/gsd-plan-phase 21`
|
||||||
|
|
||||||
|
### Phase 22 (R5): Pagina pubblica `/preventivo/[slug]` + email
|
||||||
|
**Goal**: Pubblicare la proposta come pagina pubblica a `/preventivo/[slug]`, con accept/reject che si riflette nel CRM, e inviare il link via email.
|
||||||
|
**Mode:** ui
|
||||||
|
**Depends on**: Phase 21 (modello dati proposta). Evolve la meccanica di `/quote/[token]`.
|
||||||
|
**Requirements**: PUB-01, PUB-02, PUB-03
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. La proposta generata è visibile come pagina pubblica HTML/CSS a `/preventivo/[slug]`
|
||||||
|
2. Il cliente accetta/rifiuta dalla pagina; l'esito è disponibile lato admin per la conferma vinto/perso nel CRM
|
||||||
|
3. Il link della proposta viene inviato al lead via email (Resend)
|
||||||
|
**Status**: Pending planning — `/gsd-plan-phase 22`
|
||||||
|
|
||||||
## Progress
|
## Progress
|
||||||
|
|
||||||
| Phase | Plans | Status | Completed |
|
| Phase | Plans | Status | Completed |
|
||||||
|-------|-------|--------|-----------|
|
|-------|-------|--------|-----------|
|
||||||
| 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 Editor — Tier A/B/C, Tag & Prezzo Pubblico | 5/5 | Complete | 2026-06-18 |
|
| 12. Offer Editor — Tier A/B/C, Tag & Prezzo Pubblico | 5/5 | ✅ Done | 2026-06-18 |
|
||||||
| 13. Workspace — Servizi Attivi | — | Pending planning | — |
|
| 13. Workspace — Servizi Attivi | — | ❌ Congelata (v2.2) | — |
|
||||||
| 14. CRM Attio-style & Fix | 3/3 | Complete | 2026-06-14 |
|
| 14. CRM Attio-style & Fix | 3/3 | ✅ Done | 2026-06-14 |
|
||||||
| 15. Dashboard Revenue Stats | — | Blocked (mockup utente) | — |
|
| 15. Dashboard Revenue Stats | — | ❌ Abbandonata (v2.2) | — |
|
||||||
| 16. Proposal AI — Data Foundations & Auto-Provisioning | — | Pending planning | — |
|
| 16. Proposal AI — Data Foundations & Auto-Provisioning | — | ❌ Ri-scopata (v2.2) | — |
|
||||||
| 17. Proposal AI — Builder, Pagina Pubblica & Email | — | Pending planning | — |
|
| 17. Proposal AI — Builder, Pagina Pubblica & Email | — | ❌ Ri-scopata (v2.2) | — |
|
||||||
|
| 18 (R1). Cleanup & Consolidamento | — | Pending planning | — |
|
||||||
|
| 19 (R2). Pipeline CRM Kanban | — | Pending planning | — |
|
||||||
|
| 20 (R3). Knowledge Base Cliente (transcript) | — | Pending planning | — |
|
||||||
|
| 21 (R4). Agente AI — generazione preventivo | — | Pending planning | — |
|
||||||
|
| 22 (R5). Pagina pubblica preventivo + email | — | Pending planning | — |
|
||||||
|
|||||||
+25
-20
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
gsd_state_version: 1.0
|
gsd_state_version: 1.0
|
||||||
milestone: v2.1
|
milestone: v2.2
|
||||||
milestone_name: milestone
|
milestone_name: Sales Loop
|
||||||
status: completed
|
status: planning
|
||||||
stopped_at: "Phase 12 complete — Offer Editor (Tier A/B/C, Tag & Prezzo Pubblico) eseguita e verificata. Prossima: Phase 13 (Workspace Servizi Attivi) o Phase 14 (CRM)."
|
stopped_at: "RESET 2026-06-19 → milestone v2.2 'Sales Loop'. v2.1 chiuso (Offer Studio Phase 11+12, CRM Phase 14 fatti; 13/15/16/17 congelate/abbandonate/ri-scopate). Prossima: Phase 18 (R1) Cleanup."
|
||||||
last_updated: "2026-06-18T15:23:00.000Z"
|
last_updated: "2026-06-19T11:30:00.000Z"
|
||||||
last_activity: 2026-06-18 -- Phase 12 execution complete (5/5 piani, build gate passed, OFFER-11/15/16/17/18 verified)
|
last_activity: 2026-06-19 -- Reset strategico v2.2 (piano approvato + planning docs aggiornati). Pronto per /gsd-plan-phase 18
|
||||||
progress:
|
progress:
|
||||||
total_phases: 7
|
total_phases: 5
|
||||||
completed_phases: 3
|
completed_phases: 0
|
||||||
total_plans: 12
|
total_plans: 0
|
||||||
completed_plans: 12
|
completed_plans: 0
|
||||||
percent: 100
|
percent: 0
|
||||||
---
|
---
|
||||||
|
|
||||||
# Project State
|
# Project State
|
||||||
@@ -22,16 +22,19 @@ 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 13 (Workspace Servizi Attivi) o Phase 14 (CRM Attio-style) — entrambe eseguibili. Phase 15 resta bloccata su mockup utente. Phase 12 (Offer Editor) completata e verificata.
|
**Current focus:** Milestone **v2.2 "Sales Loop"** (reset 2026-06-19). North-star: lead in pipeline Kanban → transcript call → agente AI genera preventivo → pagina pubblica `/preventivo/[slug]` → vinto/perso. Piano: `.claude/plans/glittery-sprouting-pudding.md`. Prossimo passo: pianificare Phase 18 (R1) Cleanup.
|
||||||
|
|
||||||
## Current Position
|
## Current Position
|
||||||
|
|
||||||
Phase: 13 (next) — ready to plan/execute
|
Phase: 18 (R1) Cleanup & Consolidamento — ready to plan
|
||||||
Plan: —
|
Plan: —
|
||||||
Status: Phase 12 complete. Pronto per /gsd-execute-phase 13 o /gsd-execute-phase 14.
|
Status: Reset v2.2 enacted nei planning docs. Pronto per `/gsd-plan-phase 18`.
|
||||||
Last activity: 2026-06-18 -- Phase 12 execution complete (OFFER-11/15/16/17/18 all verified PASS)
|
Last activity: 2026-06-19 -- Reset strategico v2.2: ROADMAP/REQUIREMENTS/STATE aggiornati; fasi 13/15/16/17 chiuse, nuove 18–22 (R1–R5)
|
||||||
|
|
||||||
Progress: [██████████] 100%
|
Progress (v2.2): [░░░░░░░░░░] 0% — 0/5 fasi
|
||||||
|
|
||||||
|
### Fasi completate (v2.1, storico)
|
||||||
|
Phase 11 (catalogo), Phase 12 (offer editor), Phase 14 (CRM Attio) — consegnate e in prod. 55 servizi reali + tag offerta caricati.
|
||||||
|
|
||||||
## Performance Metrics
|
## Performance Metrics
|
||||||
|
|
||||||
@@ -66,7 +69,8 @@ Progress: [██████████] 100%
|
|||||||
Decisions are logged in PROJECT.md Key Decisions table.
|
Decisions are logged in PROJECT.md Key Decisions table.
|
||||||
Recent decisions affecting current work:
|
Recent decisions affecting current work:
|
||||||
|
|
||||||
- v2.1 roadmap: Offer Studio (Phases 11-15) sequenced before Proposal AI (Phases 16-17) — clean/fast data UX before the AI builder
|
- **[RESET 2026-06-19] Milestone v2.2 "Sales Loop"** sostituisce le fasi residue v2.1. Decisioni bloccate: (1) URL preventivo = `/preventivo/[slug]` pubblico; (2) tagliare Forecast + quote builder manuale + Phase 15, fondere `/admin/analytics` nella dashboard; (3) portale post-vendita resta core, non si tocca (Phase 13 congelata); (4) agente AI = "io scelgo l'offerta, l'AI personalizza" leggendo i transcript, provider Claude. Piano: `.claude/plans/glittery-sprouting-pudding.md`
|
||||||
|
- [SUPERSEDED dal reset] v2.1 roadmap: Offer Studio (Phases 11-15) sequenced before Proposal AI (Phases 16-17) — clean/fast data UX before the AI builder
|
||||||
- Phase 11 bundles catalog database-view UX (OFFER-07..10) with legacy consolidation (OFFER-13) since the new UX should be built on a single unified `services` table, not on top of legacy `service_catalog`/`offer_services`
|
- Phase 11 bundles catalog database-view UX (OFFER-07..10) with legacy consolidation (OFFER-13) since the new UX should be built on a single unified `services` table, not on top of legacy `service_catalog`/`offer_services`
|
||||||
- Phase 13 (Workspace — Servizi Attivi) is independent of Phases 11/12 — can execute in parallel order if useful, but numbered after for narrative flow
|
- Phase 13 (Workspace — Servizi Attivi) is independent of Phases 11/12 — can execute in parallel order if useful, but numbered after for narrative flow
|
||||||
- Phase 15 (Dashboard Revenue Stats / DASH-11) is isolated and BLOCKED on user-provided mockup; no other phase depends on it — can be deferred/skipped without blocking Phase 16/17
|
- Phase 15 (Dashboard Revenue Stats / DASH-11) is isolated and BLOCKED on user-provided mockup; no other phase depends on it — can be deferred/skipped without blocking Phase 16/17
|
||||||
@@ -84,9 +88,10 @@ None yet.
|
|||||||
|
|
||||||
### Blockers/Concerns
|
### Blockers/Concerns
|
||||||
|
|
||||||
- **Phase 15 (DASH-11)**: Blocked pending dashboard mockup from user. Do not start until mockup provided; safe to skip in execution order without impacting Phase 16/17.
|
- **Migrations (sempre valido)**: ogni fase con schema (es. Phase 20 transcript) DEVE avere la migration applicata a prod via tunnel SSH (`ssh -L 54321:localhost:54321 root@178.104.27.55`, `DATABASE_URL` riscritto a `127.0.0.1:54321`) PRIMA di pushare il codice dipendente. `drizzle-kit generate` rotto → SQL a mano.
|
||||||
- **Migrations**: Per CLAUDE.md, every phase touching schema (11 legacy consolidation, 13 recurring-revenue tracking, 16 payment link + provisioning) MUST have its migration applied to prod via SSH+docker exec BEFORE pushing dependent code.
|
- **Phase 21 (AI)**: nessuna integrazione AI ancora nel codice. Servirà chiave Anthropic API in env (Coolify) + decisioni modello/prompt in fase di planning.
|
||||||
- Phase 11 Plan 1 (11-01): DB-execution steps blocked — DATABASE_URL (178.104.27.55:54321) firewalled, reachable only via SSH+docker exec on the production host (out of scope for this agent's authorization). Required before OFFER-13/D-02 are satisfied: run scripts/push-11-tags-migration.ts, scripts/migrate-services.ts, scripts/validate-services-migration.ts, scripts/migrate-tags.ts, scripts/validate-tags-migration.ts via an SSH-accessible session (see 11-01-SUMMARY.md 'Issues Encountered' for exact commands). OFFER-13 requirement NOT yet marked complete.
|
- **Debito tecnico (non bloccante)**: tabelle legacy `service_catalog`/`offer_services`/`offer_micro_services` restano come deadweight; `createService`/`serviceSchema` dead code in `catalog/actions.ts`. Script di validazione consolidamento Phase 11 (migrate/validate) mai eseguiti ma OFFER-13 è di fatto soddisfatto (catalogo `services` in uso, 55 servizi reali caricati).
|
||||||
|
- **[RISOLTO]** ~~Phase 15 bloccata su mockup~~ → fase abbandonata dal reset 2026-06-19.
|
||||||
|
|
||||||
## Deferred Items
|
## Deferred Items
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user