Levantamento de requisitos - Modelo Atual 1. Visão Geral e Escopo Objetivo: Automatizar a triagem de e-mails comerciais das empresas Autvix e Advix Soluções , utilizando LLM para classificar demandas contra uma base de serviços (BUS). Principais Metas: Triagem automática de solicitações via e-mail e anexos. Redução do tempo operacional e atrasos na resposta ao cliente. Persistência de dados para auditoria e análise via Metabase. 2. Requisitos Funcionais (RF) ID Descrição Referência Técnica RF01 Capturar e-mails e anexos das caixas comerciais e salvar no OneDrive. Power Automate RF02 Identificar o remetente e validar se o domínio já existe na base de contatos. Tabela contacts RF03 Converter anexos (.pdf, .xlsx, .zip) para texto para processamento pelo LLM . Scripts Python RF04 Classificar e-mails em categorias pré-definidas com nível de confiança e justificativa. LLM gpt-oss:120b RF05 Monitorar a saúde dos serviços de ingestão e processamento. Tabela service_heartbeat RF06 Armazenar o corpo do e-mail em HTML e texto plano para rastreabilidade. Tabela emails 3. Requisitos Não Funcionais (RNF) RNF01 - Integridade Referencial: O sistema deve garantir que nenhum e-mail seja órfão de um contato ou de uma classificação através de chaves estrangeiras ( FK ). RNF02 - Desempenho de Busca: Utilização de índices ( KEY ) em campos críticos como tipo , recipient , domain e received_at para otimizar os dashboards. RNF03 - Padronização de Caracteres: Todo o banco deve utilizar o charset utf8mb4_unicode_ci para suportar caracteres especiais e emojis de e-mails. RNF04 - Disponibilidade: O status do sistema deve ser reportado via heartbeat em intervalos regulares. 4. Modelo de Dados (Arquitetura do Banco) O banco de dados MySQL é o coração da persistência do EscopoVix, estruturado da seguinte forma: A. Núcleo de Comunicação contacts : Gerencia os remetentes. Classifica o tipo entre CLIENTE , PORTAL ou DESCONHECIDO e marca se o contato já está cadastrado no sistema legiado ( is_cadastrado ). emails : Armazena os metadados da mensagem, o caminho da pasta no OneDrive ( folder_path ), a contagem de anexos e o conteúdo textual. B. Inteligência e Classificação classifications : Armazena o veredito do modelo gpt-oss:120b . Tipos permitidos : DENTRO_ESCOPO , FORA_ESCOPO , ANALISE_TECNICA , NAO_SOLICITACAO . Campos de IA : confidence (0 a 1) e reasoning (explicação lógica da IA para aquela decisão). C. Apoio e Monitoramento cliente : Tabela de referência para cruzamento de dados de domínio, CNPJ e Razão Social. service_heartbeat : Registra se o serviço watcher ou processor está running , stopped ou em error , incluindo metadados em JSON para diagnóstico. 5. Fluxo de Dados e Pipeline Ingestão : Power Automate salva e-mail no OneDrive. Detecção : O watcher detecta a nova pasta. Identificação : O sistema busca ou cria o registro em contacts via domínio do e-mail. Processamento : O LLM analisa o texto e gera um registro em classifications com o reasoning . Finalização : O registro em emails é atualizado com o classificacao_id e marcado como processado.