From 55a2da5fafaeffd2528a1ce3619acbddf3712060 Mon Sep 17 00:00:00 2001 From: Simone Cavalli Date: Sat, 20 Jun 2026 18:31:13 +0200 Subject: [PATCH] =?UTF-8?q?chore:=20remove=20REQUIREMENTS.md=20for=20v2.2?= =?UTF-8?q?=20milestone=20=E2=80=94=20fresh=20for=20v2.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .planning/REQUIREMENTS.md | 186 -------------------------------------- 1 file changed, 186 deletions(-) delete mode 100644 .planning/REQUIREMENTS.md diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md deleted file mode 100644 index bde5b5b..0000000 --- a/.planning/REQUIREMENTS.md +++ /dev/null @@ -1,186 +0,0 @@ -# Requirements — ClientHub (v2.1 chiuso → v2.2 Sales Loop) - -**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. - -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) - -| ID | Requirement | Status | -|----|-------------|--------| -| OFFER-07 | L'utente vede ed edita il catalogo `services` come tabella con inline editing (click su cella → edit → invio salva) | Complete | -| OFFER-08 | L'utente assegna tag multi-select a servizi/offerte, creando nuovi tag al volo senza uscire dalla tabella | Complete | -| OFFER-09 | L'utente aggiunge un nuovo servizio/offerta tramite riga vuota in fondo alla tabella (nome + invio) | Complete | -| OFFER-10 | L'utente filtra/cerca servizi e offerte istantaneamente (ricerca client-side, nessun reload) | Complete | -| OFFER-11 | L'admin compone un'offerta a 3 tier (A/B/C) assegnando i servizi del catalogo unificato `services` tramite matrice di checkbox (servizio × tier); il totale servizi di ogni tier si aggiorna live | Complete | -| OFFER-15 | Ogni offerta ha tag su 4 dimensioni (categoria, ticket, tipo, obiettivo) creabili al volo, riusando il sistema tag polimorfico di Phase 11 | Complete | -| OFFER-16 | Per ogni tier l'admin imposta un "prezzo pubblico" manuale, distinto e indipendente dal totale dei servizi | Complete | -| OFFER-17 | Ogni offerta ha una promessa di trasformazione strutturata (Cliente Ideale / Risultato / tempo / Pain / Metodo) | 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 | - -## 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 | -|----|-------------|--------| -| 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`) | Congelato (v2.2) | -| 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) | Congelato (v2.2) | -| PROJ-10 | La pagina "Forecast" e la relativa voce di sidebar sono rimosse | → CLEAN-01 (v2.2) | - -## CRM Custom Attio-style (v1) - -| ID | Requirement | Status | -|----|-------------|--------| -| 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 | Complete | -| 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 | Complete | -| CRM-12 | Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili | Complete | - -## 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 | -|----|-------------|--------| -| 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 — 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 | -|----|-------------|--------| -| 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 | 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 | 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) | Backlog (post-R5) | -| 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 | Complete | -| CLEAN-02 | Il quote builder manuale (`/admin/quotes/new`) e il suo entry point sono rimossi (superato dall'agente AI) | Complete | -| CLEAN-03 | Le statistiche di `/admin/analytics` sono fuse nella Dashboard `/admin` (vista unica); la rotta duplicata è eliminata | Complete | -| CLEAN-04 | Le fasi v2.1 residue (13/15/16/17) sono archiviate/ri-scopate nel planning | Complete | - -### 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 | Complete | -| PIPE-02 | Spostare un lead nelle colonne "Vinto"/"Perso" è il cambio-stato manuale dell'esito | Complete | - -### Knowledge Base Cliente — Transcript (Phase 20 / R3) - -| ID | Requirement | Status | -|----|-------------|--------| -| KB-01 | Schema additivo per memorizzare transcript datati e multipli per lead/cliente | Complete | -| KB-02 | L'admin incolla ed elenca i transcript (storico ordinato per data) nel dettaglio lead/cliente | Complete | - -### 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 | Complete | -| AI-02 | L'admin rivede ed edita la bozza generata prima di pubblicarla | Complete | - -### 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]`) | Complete | -| PUB-02 | Il cliente accetta/rifiuta dalla pagina; l'esito si riflette nel CRM (conferma vinto/perso manuale lato admin) | Complete | -| PUB-03 | Il link della proposta viene inviato al lead via email (Resend) | Not implemented — deferred to backlog v2.3 | - -## v2 Requirements (Deferred) - -### Catalogo Avanzato - -- **OFFER-12**: Import CSV/Notion one-shot per popolare servizi/offerte esistenti (solo seed iniziale, non sync continuo) — *rimandato il 2026-06-14 su decisione utente ("per ora saltiamo"); rientra nel filone "import dati da Notion" da valutare in una fase futura* -- **OFFER-14**: Sezioni analitiche stile Notion per le offerte (psicologia, rating, performance) - -### Accesso Cliente - -- **AUTH-OTP-01**: Accesso dashboard cliente via OTP email (design pronto, vedi memoria `project_clienthub_otp_access`) - -### Architettura - -- **ARCH-01**: Split di un modulo "compartimento stagno" in deploy separato (solo se il modulo cresce abbastanza da giustificarlo) - -## Out of Scope - -| Feature | Reason | -|---------|--------| -| Fatturazione e invio fatture | Solo stato pagamenti, gestione contabile fuori | -| App mobile nativa | Solo web responsive | -| Multi-utente con team | Solo admin singolo per ora | -| Prezzi singoli visibili al cliente | Vede solo il totale accettato (vincolo LOCKED) | -| File hosting | Documenti solo come URL esterni (vincolo v1, ancora valido) | -| Database esterno o Excel come fonte dati | Postgres unica fonte di verità — il problema è la UX, non il dato | -| Notion-clone completo (sezioni psicologia/rating/performance) | Troppo complesso per v1, vedi v2 Requirements | -| Deploy separati per modulo (architettura OMC multi-app) | Non finché un modulo non cresce abbastanza da giustificarlo | - -## Traceability - -Popolata dal roadmapper durante la creazione della roadmap. - -| Requirement | Phase | Status | -|-------------|-------|--------| -| OFFER-07 | Phase 11 | Complete | -| OFFER-08 | Phase 11 | Complete | -| OFFER-09 | Phase 11 | Complete | -| OFFER-10 | Phase 11 | Complete | -| OFFER-13 | Phase 11 | Complete | -| OFFER-11 | Phase 12 | Complete | -| OFFER-15 | Phase 12 | Complete | -| OFFER-16 | Phase 12 | Complete | -| OFFER-17 | Phase 12 | Complete | -| OFFER-18 | Phase 12 | Complete | -| OFFER-12 | Deferred (v2) | Rimandato 2026-06-14 | -| PROJ-06 | Phase 13 | Congelato (v2.2) | -| PROJ-07 | Phase 13 | Congelato (v2.2) | -| PROJ-08 | Phase 13 | Congelato (v2.2) | -| PROJ-09 | Phase 13 | Congelato (v2.2) | -| PROJ-10 | Phase 13 | → CLEAN-01 | -| CRM-08 | Phase 14 | Complete | -| CRM-09 | Phase 14 | Complete | -| CRM-10 | Phase 14 | Complete | -| CRM-11 | Phase 14 | Complete | -| CRM-12 | Phase 14 | Complete | -| DASH-11 | Phase 15 | Dropped (→ CLEAN-03) | -| PROP-03 | Phase 16 | Backlog (post-R5) | -| PROP-04 | Phase 16 | Backlog (post-R5) | -| PROP-01 | Phase 17 | Superseded → AI-01/02 | -| PROP-02 | Phase 17 | Superseded → PUB-01 | -| PROP-05 | Phase 17 | Superseded → PUB-03 | -| CLEAN-01 | Phase 18 (R1) | Complete | -| CLEAN-02 | Phase 18 (R1) | Complete | -| CLEAN-03 | Phase 18 (R1) | Complete | -| CLEAN-04 | Phase 18 (R1) | Complete | -| PIPE-01 | Phase 19 (R2) | Complete | -| PIPE-02 | Phase 19 (R2) | Complete | -| KB-01 | Phase 20 (R3) | Complete | -| KB-02 | Phase 20 (R3) | Complete | -| AI-01 | Phase 21 (R4) | Complete | -| AI-02 | Phase 21 (R4) | Complete | -| PUB-01 | Phase 22 (R5) | Complete | -| PUB-02 | Phase 22 (R5) | Complete | -| PUB-03 | Phase 22 (R5) | Not implemented — deferred to backlog | - ---- -*Requirements defined: 2026-06-13* -*Last updated: 2026-06-20 — v2.2 complete: PIPE/KB/AI/PUB-01/02 tutti Complete; PUB-03 (email Resend) deferred to backlog v2.3*