037ba3721f
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>
4.6 KiB
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):
DEPLOY.mdna raiz — checklist de 8 passos com comandos exatos + diagnóstico de erros comuns + ordem de execução- Validar migrations num container limpo — recriar banco do zero, aplicar as 18 migrations + seeds em ordem, garantir zero erro
.env.examplecompleto — todas VITE_ vars + cada secret de edge function listado com instrução- Auditoria das edge functions — CORS, fallback de env var ausente, error handling. Documentar quais env cada uma precisa
- Script
db.cjs deploy-check— comando que valida pré-condições antes de deploy (ordena migrations, verifica diffs, lista secrets) - 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_admin —
psql -U supabase_admin -h localhostdireto 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)