diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index c5c3d06..b436aa8 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -8,15 +8,15 @@ 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. -## Current State: v2.2 Sales Loop ✅ SHIPPED 2026-06-20 +## Current Milestone: v2.3 Email & Accesso -Il loop di vendita end-to-end è live in produzione: lead in pipeline Kanban → transcript datati → agente AI (Claude Opus 4.8) genera preventivo personalizzato → deck pubblico 20+ slide a `/preventivo/[slug]` → cliente sceglie tier A/B/C e accetta → vinto/perso nel CRM. +**Goal:** Aggiungere uno strato email all'app — OTP gate per il portale cliente e invio link preventivo dall'admin — con un'unica integrazione Resend condivisa. -**Prossima milestone:** `/gsd-new-milestone` — candidati backlog: -- **PUB-03** — Invio link preventivo via email Resend (primo candidato, piccola effort) -- **PROP-03/04** — Stripe Payment Link + auto-provisioning al "Vinto" -- **AUTH-OTP-01** — Accesso cliente via OTP email (design già pronto) -- **Phase 13** — Servizi attivi/ricorrenti post-vendita (congelata, ripescabile) +**Target features:** +- AUTH-OTP-01 — OTP gate portale cliente (whitelist email + sessione 30gg + admin UI) +- PUB-03 — Invio link `/preventivo/[slug]` via email Resend dall'admin + +**Backlog v2.4+:** PROP-03 (Stripe Payment Link), PROP-04 (auto-provisioning al "Vinto"), Phase 13 (servizi ricorrenti) ## Requirements @@ -57,12 +57,10 @@ Validated in v2.2 Sales Loop (shipped 2026-06-20): - ✓ Agente AI: Claude Opus 4.8, Zod schema 20+ sezioni, snapshot JSONB proposals, form admin — Phase 21 (AI-01, AI-02) - ✓ Deck pubblico `/preventivo/[slug]`: 20+ slide 100vh, keyboard nav; accept/reject `accepted_at` immutabile — Phase 22 (PUB-01, PUB-02) -### Active — v2.3 (prossima milestone) +### Active — v2.3 -- [ ] PUB-03 — Invio link preventivo via email Resend (primo candidato) -- [ ] PROP-03 — Stripe Payment Link su offerta pubblica -- [ ] PROP-04 — Auto-provisioning cliente/progetto/fasi al "Vinto" -- [ ] AUTH-OTP-01 — Accesso cliente via OTP email (design pronto) +- [ ] AUTH-OTP-01 — Accesso cliente via OTP email: whitelist `client_emails`, gate `/client/[token]/*`, sessione 30gg, admin whitelist UI +- [ ] PUB-03 — Invia link `/preventivo/[slug]` via email Resend dall'admin ### Out of Scope @@ -70,7 +68,6 @@ Validated in v2.2 Sales Loop (shipped 2026-06-20): - App mobile nativa — solo web responsive - Multi-utente con team — solo tu come admin per ora - Prezzi singoli visibili al cliente — vede solo il totale accettato -- Email OTP per accesso cliente — design pronto ma deferito a batch successivo su richiesta utente - File hosting — documenti solo come URL esterni (v1 constraint, ancora valido) - Sezioni analitiche stile Notion (psicologia, rating, performance) — fuori v2.1, eventuale milestone futura - Deploy separati per modulo (architettura OMC multi-app) — non finché un modulo non cresce abbastanza da giustificarlo @@ -133,4 +130,4 @@ This document evolves at phase transitions and milestone boundaries. 4. Update Context with current state --- -*Last updated: 2026-06-20 — v2.2 milestone complete: Sales Loop end-to-end shipped (Phases 18–22)* +*Last updated: 2026-06-21 — v2.3 milestone started: Email & Accesso (AUTH-OTP-01 + PUB-03)* diff --git a/.planning/STATE.md b/.planning/STATE.md index b35bba1..6c98245 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -1,17 +1,17 @@ --- gsd_state_version: 1.0 -milestone: v2.2 -milestone_name: — Sales Loop -status: complete -stopped_at: "v2.2 completa — tutto in prod. Backlog: PUB-03 email Resend, PROP-03 Stripe, PROP-04 auto-provisioning" -last_updated: "2026-06-20T16:30:00.000Z" -last_activity: 2026-06-20 -- v2.2 chiusa — 5/5 fasi complete, REQUIREMENTS aggiornati, SUMMARY.md scritti per 21+22 +milestone: v2.3 +milestone_name: Email & Accesso +status: planning +stopped_at: "" +last_updated: "2026-06-21T17:22:00.000Z" +last_activity: 2026-06-21 -- Milestone v2.3 started progress: - total_phases: 5 - completed_phases: 5 - total_plans: 7 - completed_plans: 7 - percent: 100 + total_phases: 0 + completed_phases: 0 + total_plans: 0 + completed_plans: 0 + percent: 0 --- # Project State @@ -26,12 +26,10 @@ See: .planning/PROJECT.md (updated 2026-06-13) ## Current Position -Phase: 20 (R3) Knowledge Base Cliente — ready to execute -Plan: 3 piani (20-01 migration, 20-02 data layer, 20-03 UI) -Status: Ready to execute -Last activity: 2026-06-19 -- Phase 20 planned (3 piani, verification passed — KB-01/KB-02) - -Progress (v2.2): [████░░░░░░] 40% — 2/5 fasi complete +Phase: Not started (defining requirements) +Plan: — +Status: Defining requirements +Last activity: 2026-06-21 — Milestone v2.3 started ### Fasi completate (v2.1, storico)