3b1f49d059
- Upgrade PROJECT.md: v2.0 Business Operations Suite (unified catalog, offers with phases, public quotes, CRM pipeline, auto-provisioning) - Create REQUIREMENTS.md sections: CAT-U, OFFER-B, QUOTE, CRM, WIN requirements for phases 7-11 - Extend ROADMAP.md: 5-phase structure (7-11), 14-19 days total, risk/flag registry - Archive v1.0 milestone (phases 1-6, complete) - Switch STATE.md to v2.0, status=planning - Create research documents: STACK.md, FEATURES_v2.0.md, ARCHITECTURE.md, PITFALLS.md, SUMMARY.md Ready for: /gsd-plan-phase 7 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
83 lines
3.1 KiB
Markdown
83 lines
3.1 KiB
Markdown
---
|
|
gsd_state_version: 1.0
|
|
milestone: v2.0
|
|
milestone_name: Business Operations Suite
|
|
status: planning
|
|
last_updated: "2026-06-10T20:03:26.545Z"
|
|
last_activity: 2026-06-10
|
|
progress:
|
|
total_phases: 0
|
|
completed_phases: 0
|
|
total_plans: 0
|
|
completed_plans: 0
|
|
percent: 0
|
|
---
|
|
|
|
# Project State
|
|
|
|
## Project Reference
|
|
|
|
See: .planning/PROJECT.md (updated 2026-05-09)
|
|
|
|
**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 Position
|
|
|
|
Phase: Not started (defining requirements)
|
|
Plan: —
|
|
Status: Defining requirements
|
|
Last activity: 2026-06-10 — Milestone v2.0 started
|
|
|
|
## What Was Built (Phase 5)
|
|
|
|
- **05-01**: Schema migration — 5 nuove tabelle offer in DB + tipi TypeScript
|
|
- **05-02**: `/admin/offers` CRUD — macro, micro, servizi + assegnazione checkbox
|
|
- **05-03**: OffersTab nel workspace progetto + `getClientActiveOffers()` + sezione Offerte Attive nel dettaglio cliente
|
|
- **05-04**: `OffersSection` nella dashboard cliente (solo `public_name`) + `/admin/forecast` 12 mesi
|
|
|
|
## What Was Built (Phase 4)
|
|
|
|
- **04-00**: Infra — route /c/ → /client/, Dockerfile, deploy Gitea → Coolify
|
|
- **04-01**: DB schema migration — projects, settings, FK pivot
|
|
- **04-02**: Admin projects list + client detail project cards
|
|
- **04-03**: Project workspace + timer analytics + settings page
|
|
- **04-04**: Slug resolution + multi-project client dashboard + slug edit
|
|
- **04-05/06**: Post-deploy bug fixes
|
|
- **04-07**: Debug code removed, public page restored
|
|
- **security**: Full hardening — auth guards, rate limiting, security headers
|
|
- **payments**: Init payments + split payment in project workspace
|
|
|
|
## Production State
|
|
|
|
- App: hub.iamcavalli.net (Coolify, Hetzner)
|
|
- DB: Postgres self-hosted on Coolify
|
|
- Auth: Auth.js (admin) + token middleware (clients)
|
|
- Routes: /admin/* (admin), /client/[token]/* (clients)
|
|
|
|
## Decisions (All Phases)
|
|
|
|
- `clients.token` è campo separato (non la PK) — rotazionabile via single UPDATE
|
|
- `clients.accepted_total` denormalizzato — client API non tocca mai `quote_items`
|
|
- `deliverables.approved_at` immutabile — audit trail dal giorno uno
|
|
- Edge middleware (`proxy.ts`) usa fetch() a route interna — postgres-js non può girare nell'Edge runtime
|
|
- Tailwind v4 auto-detection allargata — aggiunto `@source not` per escludere `.01_projects/` e `.claude/`
|
|
- Authelia va solo davanti ad /admin — /client/[token] deve bypassare per accesso via link token
|
|
|
|
## Deferred Items
|
|
|
|
| Category | Item | Status |
|
|
|----------|------|--------|
|
|
| v2 | Claude AI onboarding (CLAUDE-01, CLAUDE-02, CLAUDE-03) | Backlog |
|
|
| Infrastructure | Authelia SSO davanti ad /admin | After Phase 4 (now ready) |
|
|
| Infrastructure | Higgsfield clone deploy (nuovo progetto Coolify) | Pending |
|
|
| SEO | WordPress auto-publish articoli | Mentioned, not planned |
|
|
|
|
## Session Continuity
|
|
|
|
Last session: 2026-05-27
|
|
All Phase 4 plans complete. Next: Authelia infra or new feature scope.
|
|
|
|
## Operator Next Steps
|
|
|
|
- Start the next milestone with /gsd-new-milestone
|