Files
clienthub/.planning/STATE.md
T
simone 571f58bff8 docs: STATE.md registra il deploy di v2.5 e distingue "in prod" da "in uso"
Il push era rimasto bloccato e la riga delle fonti diceva ancora "non in prod".
Ora e' vero il contrario, ma "in produzione" da solo sarebbe fuorviante: i cinque
moduli sono deployati e nessuna route li chiama. La riga dice entrambe le cose,
perche' confondere *deployato* con *funzionante* e' il modo piu' rapido per
credere di avere una feature che non esiste.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 20:01:52 +02:00

5.7 KiB
Raw Blame History

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.5 Audit executing Phase 27 a metà: schema in prod, fonti scritte e provate sul campo. Prossimo: src/lib/audit/schema.ts + agents/. 2026-08-19T13:20:00.000Z 2026-08-19 -- v2.5 pushata su main e deployata (8000d56); motore ancora non richiamato da nessuna route
total_phases completed_phases total_plans completed_plans percent
4 0 4 0 25

Project State

Digest breve, per orientarsi. Narrativa e lezioni → STATUS.md (root); requisiti → REQUIREMENTS.md; tutte le fasi → ROADMAP.md. Questo file resta sotto le 100 righe: lo impone il template GSD.

Project Reference

See: .planning/PROJECT.md · Core value: il cliente apre il link e vede a che punto è il suo progetto, senza scrivere email. · Current focus: milestone v2.5 "Audit" — il servizio di analisi sito diventa un documento privato su /audit/[slug].

Current Position

Phase: 27 of 30 — Motore di analisi Plan: schema e fonti fatti; agent, sintetizzatore e pipeline da scrivere Status: nessun bloccante — prossimo passo src/lib/audit/schema.ts + agents/ Last activity: 2026-08-18 — src/lib/audit/sources/ scritto e provato su giojello.com

Progress: [███░░░░░░░] 25%

Dove sta cosa

Cosa Dove Stato
Schema audit (7 tabelle) src/db/migrations/0017_audits.sql + src/db/schema.ts in produzione
Rubrica del motore, 264 voci tabella checklist_items, sorgente scripts/data/checklist.json in produzione
Fonti del motore (5 moduli) src/lib/audit/sources/ in produzione ma inerte: deployato, nessuna route lo chiama
Agent, sintetizzatore, pipeline src/lib/audit/{schema,agents,pipeline}.ts da scrivere
Editor admin e pagina pubblica src/app/admin/audit/, src/app/audit/[slug]/ da scrivere
L'unico audit prodotto finora spike-audit-giojello.com.json (root, gitignorato) spike del 2026-08-16, zero rilevazioni
I due piani della milestone ~/.claude/plans/…woolly-puddle.md (documento) + …radiant-valley.md (motore) fuori dal repo

Come funziona il motore

Si incolla un URL. Nessun browser headless da nessuna parte.

  1. Raccolta in parallelo (sources/, nessun LLM): PageSpeed, CrUX, Wayback, RDAP, robots/sitemap/JSON-LD, header. Ogni fonte fallisce in modo non fatale e dice perché.
  2. Quattro sub-agent in parallelo (agents/): checklist, visivo, storico, tecnico. Producono osservazioni, non finding.
  3. Sintetizzatore che le incrocia: quattro osservazioni deboli su temi diversi diventano un finding solo con quattro evidenze indipendenti. Massimo 10, per impatto.
  4. Editor admin per rifinire, poi consegna su /audit/[slug].

Vincolo che regge tutto: un numero entra solo se misurato, e dev'essere rintracciabile in audit_runs.raw.

Performance Metrics

Velocity: 21 plans completati (v2.1v2.4). Phase 27: spike ~1h, schema ~1h, fonti ~2h.

Accumulated Context

Decisions

Log completo in PROJECT.md. Vive per il lavoro corrente:

  • [2026-08-18] Il documento usa il design system dell'area admin — token semantici, Plus Jakarta Sans, Geist Mono per metriche e date, StatusBadge per gli impatti. Sostituisce la deroga tipografica del piano; i font sono già self-hostati da next/font/google, quindi la CSP è soddisfatta senza lavoro.
  • [2026-08-18] Nessun renderer headless — PageSpeed dà 153 audit sul DOM renderizzato, cioè le osservazioni visive che prima richiedevano screenshot a mano.
  • [2026-08-18] Laboratorio ≠ campo, e la differenza è il risultato — Lighthouse dà 7 ms di risposta server, CrUX dà TTFB p75 3.553 ms. Da qui il nome risposta_server_ms: con lo stesso nome il sintetizzatore li tratterebbe come un numero solo.
  • [2026-08-17] Il VPS non regge Chromium — RAM, non disco. È la ragione per cui l'opzione headless non torna.
  • [2026-08-16] La checklist alimenta il MOTORE, non il documento — se diventa il rendering della checklist, torna a sembrare un audit automatico gratuito.
  • [2026-08-16] Immagini — le due del redesign le carica l'utente, le due dello stato di fatto le scrive la pipeline. Emenda LOCKED #5 solo per gli asset di audit.

Pending Todos — nessuno (.planning/todos/ non esiste)

Blockers/Concerns

  • Il copy fisso del template v1 non ha una fonte nel repo — il prototipo Giojello non c'è. Lo stile ora viene dal design system, ma testi e gerarchia dei blocchi vanno recuperati prima di Phase 30.
  • Il caso "zero dati CrUX" non è ancora stato visto su un sito vero (test 5 del piano).
  • Il 52% della checklist non è verificabile da HTML statico — quanto ne recuperino gli audit Lighthouse non è ancora misurato (test 3 del piano).
  • Whitelist portale vuota per 3 clienti su 4 — si popola da /admin/clients/<id>.
  • .env.local punta al DB di PRODUZIONE, non allineato a Coolify per ADMIN_PASSWORD / NEXTAUTH_SECRET.
  • Ogni fase con schema: migration applicata a prod prima del push del codice.
  • Debito design (DEBT-01) — ~40 file, ~450 occorrenze. Dettaglio in STATUS.md.

Deferred Items

Vedi REQUIREMENTS.md § Backlog e § Rinviati esplicitamente da v2.5.

Session Continuity

Last session: 2026-08-18 Stopped at: src/lib/audit/sources/ (5 moduli) scritto e provato sul campo su giojello.com — giro completo 73 s, tutte le fonti hanno risposto. Build e lint puliti. Next: (1) src/lib/audit/schema.ts + agents/ con validazione Zod dura; (2) pipeline.ts con heartbeat su audit_runs; (3) volume Coolify prima del deploy; (4) editor e pagina. Resume file: None