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

125 lines
4.6 KiB
Markdown

# 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_admin** — `psql -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):**
```bash
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ã!