Files
clienthub/.planning/STATE.md
T
simone cbfd959c36 docs(v2.2): close planning docs — SUMMARY.md 21+22, req Complete
- 21-01-SUMMARY.md: agente AI Opus 4.8, schema Zod, proposals table
- 22-01-SUMMARY.md: deck 20+ slide 100vh, accept/reject, PUB-03 deferred
- REQUIREMENTS.md: PIPE/KB/AI-01/02 + PUB-01/02 → Complete; PUB-03 deferred
- ROADMAP.md: Phase 20/21/22 → [x] con date
- STATE.md: status complete, percent 100, 5/5 fasi

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 18:24:00 +02:00

7.2 KiB

gsd_state_version, milestone, milestone_name, status, stopped_at, last_updated, last_activity, progress
gsd_state_version milestone milestone_name status stopped_at last_updated last_activity progress
1.0 v2.2 — Sales Loop complete v2.2 completa — tutto in prod. Backlog: PUB-03 email Resend, PROP-03 Stripe, PROP-04 auto-provisioning 2026-06-20T16:30:00.000Z 2026-06-20 -- v2.2 chiusa — 5/5 fasi complete, REQUIREMENTS aggiornati, SUMMARY.md scritti per 21+22
total_phases completed_phases total_plans completed_plans percent
5 5 7 7 100

Project State

Project Reference

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.

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: eseguire Phase 19 (R2) Pipeline CRM Kanban.

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

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

Velocity:

  • Total plans completed: 7 (v2.1)
  • Average duration: —
  • Total execution time: —

By Phase:

Phase Plans Total Avg/Plan
Phase 11 P01 25min 2 tasks 6 files
11 4 - -
14 3 - -

Recent Trend:

  • Last 5 plans: —
  • Trend: —

Updated after each plan completion | Phase 11 P02 | 12min | 2 tasks | 2 files | | Phase 11 P03 | 9min | 2 tasks | 2 files | | Phase 11 P04 | 12min | 2 tasks | 4 files |

Accumulated Context

Decisions

Decisions are logged in PROJECT.md Key Decisions table. Recent decisions affecting current work:

  • [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 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 16/17 split: schema/automation (payment link field + auto-provisioning) first, then AI builder + public page redesign + email — keeps the AI-dependent work last
  • [Phase 11]: Phase 11: hand-write Drizzle migration SQL (0006_add_tags_table.sql) following the project's established convention since drizzle-kit generate is non-functional (meta snapshots out of sync since migration 0001, pre-existing since Phase 8) — Avoids architectural snapshot-reconciliation work (Rule 4, out of scope) while matching exact precedent from migrations 0003-0005
  • [Phase 11]: Phase 11 Plan 02: onConflictDoNothing() without explicit target compiles cleanly for tags table (single unique index tags_entity_name_unique) — used as written in plan, no fallback needed — Avoids unnecessary deviation; Drizzle's no-target ON CONFLICT DO NOTHING is correct given the single unique constraint from Plan 01
  • [Phase 11]: Phase 11 Plan 03: removed the plan's prescribed value-sync useEffect (and a follow-up render-time ref-read attempt) from EditableCell — both violate this project's react-hooks lint rules (set-state-in-effect, refs-during-render / React Compiler). tempValue is now only (re)initialized in startEdit()/cancel(), and the toggle display branch reads value directly instead of tempValue — Rule 1 lint fix, no behavioral change to the 8 spec'd test behaviors
  • [Phase 11]: Phase 11 Plan 04: left createService/serviceSchema in src/app/admin/catalog/actions.ts as unused dead code after deleting ServiceForm.tsx (its only consumer) — actions.ts was outside this plan's files_modified scope and updateService still depends on serviceSchema; logged to deferred-items.md for future cleanup
  • [Phase 18-02]: fmtEur unified to number version (analytics/page.tsx variant); KPI card callers using DB string values wrapped with parseFloat() — cleaner than maintaining two named variants
  • [Phase 18-02]: /admin/analytics route deleted; YearSelector now routes to /admin?year=Y — single admin entry point for statistics (CLEAN-03)

Pending Todos

[From .planning/todos/pending/ — ideas captured during sessions]

None yet.

Blockers/Concerns

  • 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.
  • Phase 21 (AI): nessuna integrazione AI ancora nel codice. Servirà chiave Anthropic API in env (Coolify) + decisioni modello/prompt in fase di planning.
  • 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

Items acknowledged and carried forward from previous milestone close:

Category Item Status Deferred At
v2 OFFER-14 — Sezioni analitiche stile Notion (psicologia/rating/performance) Backlog v2.1 kickoff
v2 AUTH-OTP-01 — Accesso dashboard cliente via OTP email Design ready, deferred v2.1 kickoff
v2 ARCH-01 — Split modulo "compartimento stagno" in deploy separato Backlog (only if module grows) v2.1 kickoff

Session Continuity

Last session: 2026-06-19T18:05:00.000Z Stopped at: Phase 19 complete — 19-01-SUMMARY.md scritto, PIPE-01/PIPE-02 verificati, checkpoint umano approvato. Next: /gsd-plan-phase 20 Resume file: .planning/phases/19-pipeline-crm-kanban/19-01-SUMMARY.md