Files
clienthub/.planning/STATE.md
T
simone 0aad9caf46 docs: STATUS.md unico documento narrativo, STATE.md a digest
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>
2026-08-08 22:38:49 +02:00

4.8 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.4 Post-vendita executing Phase 13 e 26 in produzione. Nessun lavoro in sospeso: il prossimo va scelto dal backlog in REQUIREMENTS.md. 2026-08-08T20:30:00.000Z 2026-08-08 -- riordino della documentazione di progetto
total_phases completed_phases total_plans completed_plans percent
2 2 2 2 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
  • Phase 26 → 09a5b1f + 187550f, prod 2026-08-08 · 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 ≠ forecastgetOffersSoldBreakdown 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