.agent/memory/registro-otimizacoes-sessao-2026-08-26-aprimorar-ia.md
2026-08-26 21:18:29 -03:00

3 KiB

Registro de Otimizações da Sessão — Aprimoramento da IA

Data: 26/08/2026
Sessão / Contexto: Implementação do sistema de Alertas de Não Conformidade por Plano de Monitoramento, observância do enum usuarioCategoria / usuario_categoria, exclusão de usuários de sistema nos alertas, exibição de pontos e destinatários na tabela de planos, e otimizações de consultas na camada info.


📌 Principais Decisões e Padrões Consolidados

1. Destinatários de Alertas de Não Conformidade (usuarios_notificacao)

  • Padrão de Entidade: Os destinatários configurados em agendamentos_planos seguem a estrutura padronizada com codigo_origem, codigo_usuario (UUID do sistema), canais: { email: boolean, push: boolean }, snapshot em info e campos padrão de auditoria.
  • Persistência JSONB: Armazenados na coluna usuarios_notificacao de agendamentos_planos, indexados e consultáveis sem necessidade de tabela intermediária.

2. Tratamento de Categorias de Usuários e Exclusão de Contas de Sistema

  • Enum Oficial: A categoria de usuário do e-Licencie Drive segue o enum oficial usuarioCategoria (zUsuarioCategoria: externo, suporte, usuario).
  • Exclusão de Contas de Sistema: Ao listar destinatários para planos de monitoramento, contas de sistema (usuario_categoria === 'sistema' ou categoria === 'sistema') são estritamente filtradas tanto no backend (obterUsuarios / _usuarios_listar.ts) quanto no frontend (useSeletorUsuariosNotificacao.ts), impedindo que contas de serviço/robô recebam alertas de campo.

3. Tabela de Planos de Monitoramento (PaginaConsultaPlanos.tabela.ts)

  • Coluna Pontos: Exibe diretamente os identificadores amigáveis e nomes dos pontos de monitoramento associados ao plano (ex: P-01, P-02), substituindo a contagem genérica anterior.
  • Coluna Destinatários: Exibe a lista dos nomes dos usuários configurados para receber alertas no plano com suporte a truncamento.

4. Otimização de Performance e Consultas via Camada info

  • Busca Multifatorial Indexada: O gerador de info.texto_busca em _agendamentos_planos.ts consolida o nome do plano, descrição, identificadores/nomes de pontos e nomes/e-mails de destinatários. Uma única busca LIKE sobre info.texto_busca resolve filtros em milissegundos sem JOINs.
  • Eliminação de Consultas N+1: O snapshot info.pontos armazena { codigo, id, nome } de cada ponto no plano, permitindo renderização imediata de tabelas com uma única requisição.

🔍 Checklist de Verificação de Artefatos

  • Regras de negócio documentadas em DOCUMENTAÇÃO/regras-negocio/notificacao-nao-conformidade-plano.md
  • Schemas Zod atualizados em sigma-comuns (zUsuarioNotificacao, zInfoUsuarioNotificacao, zUsuarios)
  • Regra de limite de linhas (máximo 250 linhas) respeitada em todos os arquivos Vue/TS
  • tsc --noEmit & biome check com 0 erros em todos os 4 pacotes (comuns, migracao, back, front)