2026-09-16 - Julio - Sprint 0 REQ-003 a 007
Resumo em linguagem simples
O sistema agora sabe quem é quem: o administrador pode convidar pessoas, definir se podem ver dados financeiros sigilosos, e remover quem não deve ter acesso. Toda mudança de permissão fica gravada no histórico de auditoria — nenhuma alteração some. Quando a IA sugerir algo (uma mensagem, um preço, uma análise), a sugestão aparece numa inbox para revisão; o usuário decide aceitar, ajustar com edição ou rejeitar com justificativa — a IA nunca muda o estado por conta própria. Um guia visual (Design System) foi criado para manter a aparência do sistema consistente daqui para frente.
O que foi feito
- REQ-003 — Página
/configuracoes/usuarios: convite por e-mail, alteração de papel, toggle de acesso financeiro, desativação de membro. - REQ-004 — Permissões financeiras em duas camadas: função pura
checkAcessoFinanceiro()+requireAcessoFinanceiro()server-only com verificação no banco. - REQ-005 — Tabela
evidenciacom 8 tipos canônicos de origem (fato,declaracao_cliente,hipotese_ia,lacuna, etc.) e rastreabilidade completa (fonte, data, autor, modelo IA). - REQ-006 — Tabela
audit_logimutável (semdeletedAt), helperregistrarEvento()plugado em todas as ações materiais, página/configuracoes/auditoriavisível só para admins. - REQ-007 — Tabela
sugestao_ia, ciclo completo aceitar / ajustar / rejeitar, inbox/sugestoescom badge de pendentes, histórico de revisões, guardamodeloIaepromptVersaoem todo registro. - Design System — Documento
docs/06 Construção/Design System.mdcom cores, tipografia, ícones e padrões de componente baseados no protótipo anterior (LCverum). - Visual — Sidebar navy escuro (MD3), topbar branca, Lato + Material Symbols. Conflito middleware/proxy do Next.js 16 corrigido.
- Migrações — 4 migrações aplicadas no Neon (0001 a 0004).
- Testes — 51 testes passando em 6 arquivos (REQ-002 a 007).
Arquivos alterados
src/app/(app)/configuracoes/usuarios/— page, actions, dialogssrc/app/(app)/configuracoes/auditoria/page.tsxsrc/app/(app)/sugestoes/— page, actions, review-cardsrc/lib/permissions/index.ts+financeiro.tssrc/lib/audit/index.tssrc/lib/sugestao-ia/index.tssrc/lib/db/schema/evidencia.ts,audit-log.ts,sugestao-ia.tssrc/components/shell/sidebar.tsx,topbar.tsx,sign-out-button.tsxsrc/app/globals.css,src/app/layout.tsx,src/app/(app)/layout.tsx,src/app/(auth)/layout.tsxdocs/06 Construção/Design System.mddrizzle/migrations/(0001–0004)tests/req-004.test.tsatests/req-007.test.ts
Critérios de aceite cobertos
- REQ-003 — usuário comercial não acessa gestão de usuários
- REQ-003 — alteração de papel fica auditada
- REQ-004 —
requireAcessoFinanceiro()lança erro para usuário sem permissão - REQ-005 — 8 tipos de origem canônicos definidos e testados
- REQ-006 —
audit_lognão temdeletedAt(imutável por design) - REQ-007 — sugestão criada sempre com status
pendente; IA nunca auto-aprova
Pendências e dúvidas
ANTHROPIC_API_KEYainda vazia no.env.local— necessária para REQ-008 em diante (chamadas reais à IA).- REQ-008 (Explicar recomendações relevantes da IA) é o próximo da fila.