Cliwefy — Histórico / Diário do Projeto¶
Diário granular (sem segredos). Complementa o
CLAUDE.mdda raiz. Para credenciais, peça ao Rodolfo (password manager).
Marcos¶
- A→D (ciclo do dinheiro, billing, operação, onboarding) — base funcional.
- Premiação, Geomarketing, Portal do Paciente, Fidelidade, Indicação (roleta), NFSe (BYO), Recepção/Check-in, Caixa diário, Bloqueio por inadimplência.
- Fluxo do Dentista redesenhado: fila inteligente (compartilhado vs privado, claim atômico), 3 experiências (avaliação/clínico/orto), taxa de avaliação (herança/trava), origem em Vendas, legenda de cor por tipo, baixa de material do estoque na execução (ficha técnica).
- Ocorrências (escalonamento clínica→franqueadora): inbox + BI; cancelamento de orto com multa/alçada (gerente/dono/franqueadora) + assinatura do paciente (Marco Civil); reabertura de procedimento com motor de reversão (estorna premiação, repasse, fidelidade, indicação); notificações (WhatsApp + alerta) + SLA com cron.
- Estoque (itens/categorias/fornecedores/movimentações + ficha técnica).
- Relatórios (~23 em 5 categorias clínicas + rede): Operação, Comercial, Financeiro, Pacientes, Diferenciais (termômetro, alertas, cohort, metas) + rede (ranking, royalties, radar de falcatrua).
- Contratos, Pacotes/Termos (franqueadora), Central de Atualizações + Mapa do Sistema (/dev).
Auditoria de prontidão (57 achados) — remediada em 3 ondas¶
- Onda 1 (críticos): segurança em /api/admin/usuarios; bug do desconto (cobrava errado); agenda (marcar + check-in + rota [id]); portal (chaves, CPF, match de telefone seguro); ocorrências (card fantasma + evidência de assinatura + motor de cancelamento); correção do vocabulário do seed (status EN PENDING/OVERDUE/RECEIVED, etc.).
- Onda 2 (mocks→real): Contratos; Pacotes/Termos; dashboards de cargo (números reais, 6 mocks deletados); botões da recepção; ModalAvaliação na clínica certa.
- Onda 3 (decisões): DRE de Caixa; cadência de follow-up D+1/3/7/15/30; regra de lead (avaliação não convertida); trava de valor na baixa; estorno total automático na reabertura; papel Franqueado (dono ≠ gerente); notificações + SLA.
Convenções (resumo — detalhe no CLAUDE.md)¶
- RPC SECURITY DEFINER + guards; clinicId/orgId sempre do servidor.
- Migrations aplicadas via Management API e registradas em
schema_migrations(a pastasupabase/migrations/tem só 001/002; o resto vive no banco — introspectar com pg_get_functiondef). - Status canônico: patient_charges EN (PENDING/OVERDUE/RECEIVED); queue_entries aguardando/ em_atendimento; budgets aguardando/em_negociacao/fechado/perdido + origem avaliacao/ procedimento_adicional/manual.
- A cada deploy, registrar entrada via
changelog_add(ver /dev/atualizacoes).
Dados de demonstração¶
- Clínica "Coife Odonto Taipas" populada (50 pacientes, agenda, funil, cobranças, ocorrências, metas, estoque, fichas técnicas). 2ª clínica "Coife Odonto Pirituba" p/ comparativo.
- Logins demo
@coife.demo(senha no password manager). Limpeza = deletar por clinic_id.
Pendências EXTERNAS (precisam parceiro/config, não é código)¶
- Asaas por clínica (split/BYO) — dinheiro real do paciente por unidade.
- Consultar Financeira (parceiro: Odontocred/Sorrident/BV).
- NFSe real (chave sandbox Nuvem Fiscal + certificado).
- Instância WhatsApp por clínica (notificações saírem de fato).
- Webhook do Asaas (registrar URL + token).
- CCB/antecipação (parceiro de crédito).
Limpeza pendente (cosmético)¶
- Usuários demo Mariana/Camila ficaram com perfil sem conta de login (órfãos).
- Itens de baixa severidade da auditoria (rótulos/UX).