Files
agenciapsilmno/HANDOFF.md
T
Leonardo 037ba3721f HANDOFF.md atualizado para Sessoes 1-10 + proxima sessao A#31-rev
Documento "ler primeiro ao voltar" reflete estado atual: 15 areas auditadas,
zero critico/alto aberto, A#31 reformulada como "Preparacao pra deploy"
(MVP nao tem cloud Supabase nem secrets reais).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 22:02:48 -03:00

4.6 KiB

HANDOFF — 2026-04-19 (após Sessões 1-10)

Documento de continuidade. Quando voltar, comece lendo esta página. Todo o estado vive no banco (/saas/desenvolvimento → Auditoria/Verificações/Testes).


📊 Estado atual

A# auditoria abertos 1 (A#31 — reformular pra "Preparação pra deploy")
V# verificações abertos 14 (todos médios/baixos adiados, plano completo no DB)
🔴 Críticos 0
🟠 Altos 0
Áreas auditadas 15 (todas as principais do SaaS)
Vitest 208/208
SQL integration 33/33
E2E (Playwright) 5/5
Migrations totais 18
Último commit d6eb992 (pushed ao Gitea)

🎯 Próxima sessão — A#31-rev (Preparação pra deploy)

Contexto: A#31 era "Deploy real" mas você não tem cloud Supabase nem secrets reais ainda (MVP). Precisa virar preparação — deixar tudo pronto pra quando criar a cloud você executar sozinho com mínimo atrito.

Tarefas (~2-3h, zero risco):

  1. DEPLOY.md na raiz — checklist de 8 passos com comandos exatos + diagnóstico de erros comuns + ordem de execução
  2. Validar migrations num container limpo — recriar banco do zero, aplicar as 18 migrations + seeds em ordem, garantir zero erro
  3. .env.example completo — todas VITE_ vars + cada secret de edge function listado com instrução
  4. Auditoria das edge functions — CORS, fallback de env var ausente, error handling. Documentar quais env cada uma precisa
  5. Script db.cjs deploy-check — comando que valida pré-condições antes de deploy (ordena migrations, verifica diffs, lista secrets)
  6. Atualizar HANDOFF.md com seção "Pra deployar"

Quando voltar, é só dizer "começa A#31-rev" e eu sigo o plano.


📚 Memória persistente (carregada automaticamente)

Já saved no memory system (MEMORY.md — não precisa lembrar):

  • Sanitização sempre — trim, length, regex em toda entrada/saída
  • Priorização por severidade — críticos+altos imediatos, médios/baixos adiam com plano
  • Self-hosted > provider externo — LGPD/clínico
  • Gotcha supabase_adminpsql -U supabase_admin -h localhost direto pra ALTER POLICY em tabelas owned
  • Tracking dev_*_items — A#/V#/T# vivem no DB, UI /saas/desenvolvimento
  • Project Overview + MVP Assessment

📦 Commits relevantes

d6eb992  Sessoes 6cont-10: hardening em 6 areas + scan completo do SaaS    ← último
7c20b51  Sessoes 1-6 acumuladas: hardening B2, defesa em camadas, +192 testes
d088a89  (commit anterior do projeto)

🗂️ Áreas auditadas (15)

Área Estado
auth, router, stores, agenda, seguranca, saas 100% fechado/ok
pacientes 100% fechado (V#9 — script extraído; template breakdown adiado pra quando houver E2E)
documentos 100% fechado
calendario 100% fechado
servicos 100% fechado
financeiro 5 fechados, 6 médios/baixos adiados
comunicacao 5 fechados, 5 médios/baixos adiados
tenants 6 fechados, 2 baixos adiados
addons 3 resolvidos, 1 médio adiado
central_saas 1 alto fechado, 2 médios adiados

= áreas 100% fechadas (zero pendência).


⚠️ Pendências documentadas no DB (14 V# adiados)

Todos médios/baixos com plano completo em dev_verificacoes_items.acao_sugerida. Não esquecer. Sprint dedicado de polimento depois do deploy.

  • financeiro (6): parcelamento CHECK, payouts flow, recurrence DELETE, composables, máscara PIX, dashboard inadimplência
  • comunicacao (5): notifications/schedules silos, email_templates_global filtros, retention notification_logs, dashboard health, audit dismissals
  • tenants (2): owner_users policies, company_profiles + dev_user_credentials
  • central_saas (2): rate limit voto, valores tipo_acesso
  • addons (1): UI de extrato

Plus (não V#):

  • PatientsCadastroPage template breakdown — 1951 linhas. Esperar E2E
  • Sprint de polimento dos 14 médios/baixos juntos

🛠️ Stack lembretes (caso precise)

  • DB local: docker exec -i supabase_db_agenciapsi-primesakai psql -U postgres -d postgres
  • DB local como supabase_admin (pra ALTER POLICY em tabelas owned):
    docker exec -i -e PGPASSWORD=postgres -e PGCLIENTENCODING=UTF8 \
      supabase_db_agenciapsi-primesakai \
      psql -U supabase_admin -d postgres -h localhost -f migration.sql
    
  • Vitest: npx vitest run
  • SQL integration: node database-novo/tests/run.cjs
  • E2E: npx playwright test (precisa dev server: npm run dev)

📌 Bom descanso, até amanhã!