0aad9caf46
STATUS.md e .planning/STATE.md raccontavano la stessa storia in due posti
con date diverse, e STATE.md si contraddiceva: frontmatter fermo a
"milestone v2.3 / executing" quando v2.3 e shipped, l'anteprima admin data
per "NON committata" mentre e il commit 187550f deployato l'8 agosto,
Session Continuity ferma al 29/07 e la tabella Performance Metrics spezzata
a meta.
Il template GSD dice esplicitamente che STATE.md deve stare sotto le 100
righe ("a DIGEST, not an archive"): ne aveva 177, quasi tutte narrativa.
- STATUS.md assorbe la narrativa e diventa l'unico posto dove si racconta
il progetto. Nuova sezione "Lezioni operative" per le trappole in cui si
ricasca: il gate OTP non va nel layout App Router (il payload RSC
trapela), ricreare il dominio Resend rigenera la chiave DKIM, .env.local
non e allineato a produzione dal 28/07, Playwright non funziona contro
npm run dev
- STATE.md sceso a 98 righe, con i campi che state.cjs legge davvero.
Frontmatter corretto a v2.4, blocchi gia risolti (DKIM, env Coolify)
rimossi, nulla risulta piu "non committato"
- il debito design era sottostimato: non 11 pagine ma ~40 file e ~450
occorrenze. Esclusi perche legittimi AdminSidebar (eccezione brand),
mailer.ts (HTML email) e i colori di stato di StatusBadge
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
99 lines
4.8 KiB
Markdown
99 lines
4.8 KiB
Markdown
---
|
|
gsd_state_version: 1.0
|
|
milestone: v2.4
|
|
milestone_name: Post-vendita
|
|
status: executing
|
|
stopped_at: "Phase 13 e 26 in produzione. Nessun lavoro in sospeso: il prossimo va scelto dal backlog in REQUIREMENTS.md."
|
|
last_updated: "2026-08-08T20:30:00.000Z"
|
|
last_activity: 2026-08-08 -- riordino della documentazione di progetto
|
|
progress:
|
|
total_phases: 2
|
|
completed_phases: 2
|
|
total_plans: 2
|
|
completed_plans: 2
|
|
percent: 100
|
|
---
|
|
|
|
# Project State
|
|
|
|
> Digest per i comandi `/gsd-*`. La narrativa completa — cosa è stato fatto, cosa
|
|
> manca, le lezioni operative — sta in **`STATUS.md`** alla radice del repo.
|
|
> Questo file resta sotto le 100 righe di proposito.
|
|
|
|
## Project Reference
|
|
|
|
See: .planning/PROJECT.md (updated 2026-08-08)
|
|
|
|
**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.4 "Post-vendita"** — tutto ciò che era pianificato è in produzione. Nessuna fase aperta.
|
|
|
|
## Current Position
|
|
|
|
Phase: 2 of 2 (Phase 13 Ciclo di vita servizi ricorrenti · Phase 26 Anteprima admin)
|
|
Plan: 2 of 2 in current milestone
|
|
Status: Phase complete — nessuna fase aperta, prossimo lavoro da scegliere dal backlog
|
|
Last activity: 2026-08-08 — riordino della documentazione (`.planning/` e doc di root)
|
|
|
|
Progress: [██████████] 100%
|
|
|
|
Entrambe le fasi sono **in produzione e verificate**:
|
|
|
|
- Phase 13 → `5177a37`, migr. 0016, prod 2026-08-01 · [13-SUMMARY.md](phases/13-ciclo-vita-servizi-ricorrenti/13-SUMMARY.md)
|
|
- Phase 26 → `09a5b1f` + `187550f`, prod 2026-08-08 · [26-SUMMARY.md](phases/26-anteprima-admin-e-login/26-SUMMARY.md)
|
|
|
|
## Performance Metrics
|
|
|
|
**Velocity:** 21 plans completati in totale — 7 (v2.1) + 9 (v2.2) + 3 (v2.3) + 2 (v2.4).
|
|
**Recent Trend:** — · v2.3 e v2.4 sono state eseguite fuori dal ciclo GSD, quindi non cronometrate.
|
|
|
|
| Phase | Plans | Total | Avg/Plan |
|
|
|-------|-------|-------|----------|
|
|
| 13 | 1 | — | — |
|
|
| 26 | 1 | — | — |
|
|
|
|
*Updated after each plan completion*
|
|
|
|
## Accumulated Context
|
|
|
|
### Decisions
|
|
|
|
Log completo in PROJECT.md (Key Decisions). Rilevanti per il lavoro corrente:
|
|
|
|
- **[Phase 26, 2026-08-08] Deviazione consapevole dal vincolo LOCKED #4** — una route `/client/*` ora legge anche la sessione Auth.js per l'anteprima admin. Non indebolisce il gate per i clienti; annotata in `CLAUDE.md`.
|
|
- **[Phase 26] L'anteprima è in sola lettura a livello UI, non API** — le route `/api/client/*` autenticano sul token nel body. L'obiettivo è impedire l'incidente, non difendersi da sé stessi.
|
|
- **[Phase 13] Storico di vendita ≠ forecast** — `getOffersSoldBreakdown` non filtra per stato: escludere le offerte cessate riscriverebbe il fatturato passato.
|
|
- **[v2.3, 2026-07-28] Sessione OTP a 90 giorni invece di 30** — rientro più fluido, compensato dalla revoca in blocco lato admin (OTP-08).
|
|
|
|
### Pending Todos
|
|
|
|
[From .planning/todos/pending/ — ideas captured during sessions]
|
|
|
|
None yet.
|
|
|
|
### Blockers/Concerns
|
|
|
|
- **Whitelist portale vuota per 3 clienti su 4** (non bloccante: l'utente li re-invita) — da popolare da `/admin/clients/<id>` → "Accessi al portale".
|
|
- **`.env.local` punta al DB di PRODUZIONE** e non è allineato a Coolify per `ADMIN_PASSWORD` / `NEXTAUTH_SECRET` (ruotati il 2026-07-28). Nessun DB di sviluppo separato: ogni prova locale scrive su dati reali.
|
|
- **Ogni fase con schema** DEVE avere la migration applicata a prod PRIMA del push del codice dipendente. `drizzle-kit generate` è rotto → SQL a mano. Procedura in `CLAUDE.md`.
|
|
- **Debito design (DEBT-01)** — ~40 file, ~450 occorrenze di palette raw/hex. Misurato il 2026-08-08. Dettaglio in `STATUS.md`.
|
|
|
|
## Deferred Items
|
|
|
|
| Category | Item | Status | Deferred At |
|
|
|----------|------|--------|-------------|
|
|
| v2.4 | RET-06 — Canoni mensili tracciabili (serve tabella nuova) | Backlog | 2026-08-01 |
|
|
| v2.4 | SEND-01/02 — Invio link preventivo via email (mailer già pronto) | Backlog | 2026-07-28 |
|
|
| v2.4+ | PROP-03 — Stripe Payment Link sul deck | Backlog | v2.3 kickoff |
|
|
| v2.4+ | PROP-04 — Auto-provisioning cliente/progetto/fasi al "Vinto" | Backlog | v2.3 kickoff |
|
|
| Design | DEBT-01 — Migrazione a token semantici | Backlog | 2026-07-28 |
|
|
| Tech debt | DEBT-02 — Tabelle legacy catalogo + dead code | Backlog | v2.1 |
|
|
| v2+ | OFFER-14 — Sezioni analitiche stile Notion | Backlog | v2.1 kickoff |
|
|
| v2+ | ARCH-01 — Split modulo in deploy separato | Backlog (solo se cresce) | v2.1 kickoff |
|
|
|
|
## Session Continuity
|
|
|
|
Last session: 2026-08-08 20:30
|
|
Stopped at: Riordino della documentazione — milestone chiuse archiviate, v2.4 documentata, STATUS.md unico documento narrativo.
|
|
Next: Popolare la whitelist dei 3 clienti reali, oppure attaccare DEBT-01 (debito design).
|
|
Resume file: None
|