Files
eden/docs/implementation-plan.md
Matheus (Handix) 44510bd019 Bootstrap EDEN: Fase 0 (arquitetura) e Fase 1 (monorepo + infra)
Fase 0 — descoberta e arquitetura:
- Inventário do projeto, glossário de domínio, arquitetura com bounded
  contexts e topologia de containers, threat model inicial.
- 12 ADRs cobrindo modular monolith, topologia de containers (Postgres
  isolado + eden-core/parceiros/assinante em containers e portas
  distintos), auth/sessões, modelo de permissões, criptografia/segredos,
  contrato first-class, stock ledger, separação billing/finance/fiscal,
  outbox transacional, adapters SaperX e Focus NFe, e identidade
  compartilhada entre as 3 apps.
- 14 subagentes e 7 skills especializados por domínio em .claude/.
- Hooks de segurança (PreToolUse/PostToolUse/Stop) testados via pipe.

Fase 1 — plataforma (em andamento):
- Monorepo pnpm workspaces + Turborepo: apps/{api,worker,core-web,
  reseller-web,subscriber-web} + 9 packages compartilhados.
- apps/api: NestJS mínimo com /health/live e /health/ready (checando
  Postgres real via @eden/database).
- 3 frontends Vite + React + TypeScript + Tailwind, com o favicon
  oficial do EDEN.
- packages/database: migration baseline (node-pg-migrate) criando
  roles/role_permissions/applications/users/user_applications/sessions/
  audit_log — audit log append-only com hash-chain, testado ao vivo
  (UPDATE/DELETE bloqueados pelo trigger).
- compose.yaml implementando a topologia da ADR-0002, validada de ponta
  a ponta: os 6 containers sobem e ficam saudáveis com um único
  `docker compose up`.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-03 08:01:14 -03:00

4.2 KiB
Raw Blame History

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)

  • Ler eden.md integralmente (4597 linhas, 7 módulos).
  • Inventariar projeto/tema/assets (docs/project-inventory.md).
  • docs/glossary.md.
  • docs/architecture.md (bounded contexts + topologia de containers).
  • docs/security/threat-model.md.
  • ADRs 00010012.
  • .claude/agents/ (14 agentes).
  • .claude/skills/ (7 skills mínimas).
  • Hooks (PreToolUse/PostToolUse/Stop), testados via pipe.
  • docs/implementation-plan.md (este arquivo).
  • 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 27 existirem parcialmente) → 9 (paralelizável a partir da Fase 1, isolada) → 10.