Files
eden/.gitignore
Matheus (Handix) 18838a9031 feat(api): Quotes, Client Registration e esqueleto de Contratos
Fecha o núcleo comercial da Fase 2/3: motor de precificação de Ofertas
(feito diretamente, dado o risco de erro de arredondamento/regra de
negócio), Cadastro de Cliente e esqueleto de Contratos (via 2 subagentes
em paralelo, salvos manualmente após ambos baterem no limite de gasto
mensal da conta — trabalho não commitado nos worktrees foi revisado
arquivo a arquivo e copiado para main, com as peças faltantes
completadas diretamente).

- Quotes: pricing.ts porta as fórmulas do legado (eden.md §7/§8) —
  needsApproval, faixas de condição de pagamento, efeito legal da
  fidelidade condicionado a approval_status==='approved'. Fluxo
  criar→decidir aprovação→fechar negócio (vinculado a um cadastro de
  cliente, com guarda contra fechamento duplo).
- Client Registration: cadastro direto (eden.md §3), MVP autenticado-only
  (sem token público de autoatendimento, upload ou lookup CNPJ/CEP nesta
  fase — documentado em comentário).
- Contracts: máquina de estados do ADR-0006 imposta via SELECT...FOR
  UPDATE + tabela de transições, com signed_at/activated_at e histórico
  de status; 4 das 11 tabelas do ADR-0006 (as demais adiadas).

2 bugs próprios corrigidos antes do commit: UpdateQuoteInput usava
COALESCE para campos financeiros (undefined do JS apagaria valor em
update parcial) — campos tornados obrigatórios; User.reseller_id/
can_approve_discount faltavam em types.ts apesar das colunas já
existirem no banco desde migrations anteriores.

Verificado: pnpm turbo run typecheck build (28/28), pnpm test (15/15),
e todo o fluxo testado ao vivo via curl contra a stack Docker real,
incluindo cenários de erro (transição de status inválida, FK de produto
inexistente, fechamento duplo, 401 sem token) e trilha de auditoria
conferida no Postgres.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-03 12:25:49 -03:00

55 lines
983 B
Plaintext

# Dependencies
node_modules/
.pnpm-store/
# Build outputs
dist/
build/
.turbo/
*.tsbuildinfo
# Env / secrets
.env
.env.*.local
.env.local
*.pem
*.key
# Logs
*.log
npm-debug.log*
pnpm-debug.log*
# Test / coverage
coverage/
.nyc_output/
# Editor
.vscode/*
!.vscode/extensions.json
.idea/
# OS
.DS_Store
Thumbs.db
# Purchased third-party theme asset — too large to version; extracted
# components live in packages/ui instead (see docs/project-inventory.md).
tema_do_Eden.zip
# Scratch space for one-off inventory/extraction work
.tmp/
# Local Postgres data volume if ever bind-mounted for debugging
infra/docker/pgdata/
# Claude Code local overrides (personal, never shared)
.claude/settings.local.json
# Temporary git worktrees created for parallel subagent work — each is its
# own nested git checkout; never vendor these into the main repo history.
.claude/worktrees/
# Session-local lock file for scheduled wakeups, not project content.
.claude/scheduled_tasks.lock