# EDEN — Plano de Implementação por Fase Backlog macro conforme Master Prompt §18. Cada fase só inicia com o gate da fase anterior verde (build/typecheck/lint/testes críticos + doc/ADR necessária atualizada — Definition of Done, Master Prompt §20). ## Fase 0 — Descoberta e arquitetura (CONCLUÍDA — ver docs/progress.md) - [x] Ler `eden.md` integralmente (4597 linhas, 7 módulos). - [x] Inventariar projeto/tema/assets (`docs/project-inventory.md`). - [x] `docs/glossary.md`. - [x] `docs/architecture.md` (bounded contexts + topologia de containers). - [x] `docs/security/threat-model.md`. - [x] ADRs 0001–0012. - [x] `.claude/agents/` (14 agentes). - [x] `.claude/skills/` (7 skills mínimas). - [x] Hooks (`PreToolUse`/`PostToolUse`/`Stop`), testados via pipe. - [x] `docs/implementation-plan.md` (este arquivo). - [x] Revisão cruzada final (self-review contra critérios eden-architect + eden-security + eden-database) — ver `docs/progress.md`. **Gate de saída**: VERDE. Fase 1 pode começar quando autorizada. ## Fase 1 — Plataforma - Monorepo (pnpm workspaces + Turborepo), `git init`. - Docker: provisionar Docker/Node LTS/pnpm no ambiente; `compose.yaml` com topologia da ADR-0002 (Postgres separado + eden-core/parceiros/assinante em containers/portas distintas). - Postgres 18 + migrations versionadas (`packages/database`). - Config/env (`.env.example` completo — DB, JWT/session, SMTP, S3, chaves de criptografia). - Logging estruturado + correlation id. - Auth (ADR-0003), Users, Roles/Permissions/Scopes (ADR-0004). - Companies/Legal Entities (Organization). - S3 adapter, SMTP adapter. - Audit log append-only (hash-chain reforçado por trigger). - API/OpenAPI 3.1 base (`/api/v1`). - Design System inicial (`packages/ui`) a partir do inventário do tema DreamsERP. - Seed: entidade Handix + superadmin via env (`EDEN_SUPERADMIN_EMAIL`/`PASSWORD`). ## Fase 2 — Comercial - CRM (leads, oportunidades, pipeline). - Produtos/grupos/subgrupos/marcas (evoluindo `products` do legado). - Pricing tiers (faixas 0/12/24/36/48) + fidelidade reduzida com aprovação (ADR de negócio herdada do legado, seção 6.4 do Master Prompt). - Ofertas + approval workflow genérico. - Customer 360 (clientes PF/PJ, cadastro público com token, sócios/QSA). - Revendas (cadastro/aprovação + operacional). ## Fase 3 — Contratos/documentos - Contracts first-class (ADR-0006). - Templates de documento (Tiptap, versionamento, publicação) + PDF server-side (Playwright/Chromium, sem navegação de rede). - Assinatura eletrônica (envelope, OTP, hash-chain, certificado, verificação pública) — portar fielmente do legado (Master Prompt §6.7). - Portal de cadastro público (cliente/revenda). ## Fase 4 — Estoque/ativos - Warehouse, ledger de movimentos (ADR-0007). - Serial/patrimônio/MAC, reserva/instalação/comodato/RMA. ## Fase 5 — Billing/financeiro - Subscription/billing engine (ADR-0008). - Invoices, AR/AP. - Boletos (provider abstraction), dunning, conciliação. - Dashboards financeiros (MRR, ARR, churn, aging). ## Fase 6 — Fiscal/telecom - Catálogos fiscais + `product_fiscal_profiles` (portados do legado). - Adapter Focus NFCom/NFS-e (ADR-0011). - Adapter SaperX (ADR-0010) — circuitos, DIDs, consumo, conciliação. ## Fase 7 — Suporte - Service desk, SLA, OS, integração com portais. ## Fase 8 — Portais - EDEN Parceiros completo (isolamento cross-reseller testado). - EDEN Assinante completo (isolamento cross-customer testado). ## Fase 9 — RH/Ponto + backoffice legado restante - Control iD + AFD (Portaria 671) — imutabilidade do dado bruto (Master Prompt §6.14). - Banco de horas, fechamento de período. - Agenda (salas/carros), backup (streaming S3), dashboards restantes. ## Fase 10 — Hardening - E2E completos (15 fluxos mínimos do Master Prompt §15.2 + casos invariantes §15.3). - Performance, security review, access-control review. - Migration rehearsal, backup/restore drill. - Runbooks (`docs/runbooks/`). - Release readiness contra os critérios de aceitação global (Master Prompt §21). ## Dependências entre fases (resumo) Fase 1 → 2 → 3 → 4 → 5 → 6 (fiscal depende de billing) → 7 → 8 (depende de 2–7 existirem parcialmente) → 9 (paralelizável a partir da Fase 1, isolada) → 10.