Commit Graph

3 Commits

Author SHA1 Message Date
João Pedro Toledo Goncalves 76271d7273 feat(telegram): Integração Telegram e otimizações para CPU
RESUMO:
Substituição do listener de Email (IMAP) por Bot do Telegram.
Correções de conectividade Ollama e timeout para inferência CPU.

ALTERAÇÕES:

1. NOVA INTEGRAÇÃO TELEGRAM:
   - Criado src/clients/telegram_client.py (TelegramListener)
   - Autenticação por ID de usuário (whitelist)
   - Comandos /start e processamento de mensagens de texto
   - Integração com Dispatcher para tickets via chat

2. CORREÇÕES OLLAMA:
   - OLLAMA_BASE_URL: localhost -> ollama (Docker network)
   - Timeout aumentado: 120s -> 300s (CPU inference lenta)
   - Contexto Specialist reduzido: 8192 -> 4096 tokens

3. HOMOLOGATION:
   - Substituído check de Email por check de Telegram
   - Usa httpx para validar token via /getMe

4. MOCK FINANCIAL CLIENT:
   - Adicionado get_tenant_by_email() method
   - Domínio 'telegram' adicionado ao tenant iT Guys

5. DATABASE CONNECTION:
   - URL-encode de credenciais no DSN (caracteres especiais)

PORQUE FOI FEITA ESSA ALTERAÇÃO?
- Email/IMAP: Problemas persistentes de autenticação com Exchange
- Telegram: Interface mais ágil para testes controlados
- Timeout: Modelo 8B em 4 cores CPU estourava 120s

QUAIS TESTES FORAM FEITOS?
- Homologação completa: 7/7 checks passando
- Teste direto OllamaClient.generate_triage(): OK
- Teste direto OllamaClient.generate_specialist(): OK
- Teste TriageAgent.process_ticket(): OK
- Teste via Telegram Bot: Mensagens recebidas e processadas

A ALTERAÇÃO GEROU NOVO TESTE?
Não. Scripts de debug criados em src/verification/ são auxiliares.
Pipeline existente (pytest) continua válido.
2026-02-02 15:22:10 -03:00
João Pedro Toledo Goncalves f69b990fa5 fix(audit): Apply critical audit fixes (Phase 6)
**Porque foi feita essa alteração?**
Resolução de múltiplos problemas críticos identificados na auditoria de código (Fase 6):
1.  **Correção Crítica de Dependência**: Criação de inancial_client.py para resolver ImportError e renomeação do mock antigo.
2.  **Busca Semântica**: Substituição de mock embeddings (SHA256) por implementação real usando OllamaClient no RAG e Memória Episódica.
3.  **Segurança e Compliance**: Implementação de persistência de AuditLog no PostgreSQL via TicketPipeline.
4.  **Segurança**: Refatoração de Config e DatabaseManager para uso compulsório de SecretsManager.
5.  **Performance**: Otimização de consultas N+1 no ZabbixConnector.
6.  **Limpeza**: Remoção de domínios hardcoded em alidators.py.

**Quais testes foram feitos?**
- Execução do script src.deployment.homologation para validar integridade dos módulos (passou sem erros de importação).
- Verificação estática das chamadas de método corrigidas.

**A alteração gerou um novo teste que precisa ser implementado no pipeline de testes?**
Sim. É necessário implementar testes de integração para garantir que:
1.  Os logs de auditoria estão sendo gravados no banco.
2.  Os embeddings estão sendo gerados corretamente pelo Ollama (não retornam lista vazia).
2026-02-01 13:06:26 -03:00
João Pedro Toledo Goncalves ce3e256550 feat: Implementação da Fase 2 - Conectores e Infraestrutura
Porque foi feita essa alteração?
- Nova funcionalidade: Implementação dos conectores de infraestrutura para o Arthur
- ZabbixConnector: noc.itguys.com.br com Read-Only API
- QdrantMultitenant: Vector DB com isolamento por tenant e on_disk storage
- OllamaClient: Inferência local com triage (1B) e specialist (8B)

Quais testes foram feitos?
- 72 testes unitários com pytest (todos passando)
- Mocks para Zabbix API, Qdrant e Ollama HTTP
- Testes de isolamento de tenant no Qdrant
- Testes async para Ollama client

A alteração gerou um novo teste que precisa ser implementado no pipeline?
- Sim. Novos arquivos: test_zabbix.py, test_qdrant.py, test_ollama.py
2026-02-01 12:03:32 -03:00