- fix: migrationRunner.after() que falha agora impede registro da migracao
- fix: adicionar EQU_MENSAGEM e EQU_ETIQUETA_ID ao banco novo
- fix: recriar generators faltantes e tabela CHATC2_MOTIVOS_ATENDIMENTO no banco novo
- configService agora le direto do banco (sem TTL, sem stale data)
- invalidarConfig virou no-op (não há cache para invalidar)
- cacheService.js removido (so era usado pelo configService)
- endpoint /metrics sem referencia ao cacheService
- fix: migration #25 agora so cria o generator (tabela ja existe no ERP)
- fix: insert usa MENSAGEM_CLIENTES (singular) e GEN_MENSAGEM_CLIENTES
- fix: database.js whitelist atualizado para GEN_MENSAGEM_CLIENTES
- Adiciona .pi/ e .impeccable/ ao .gitignore (ferramentas de dev)
- Adiciona logs/, tmp/, uploads/ ao .gitignore (runtime artifacts)
- Remove .pi/ e .impeccable/ do tracking git
- Camada de banco unificada (src/database.js): drivers Postgres/Firebird,
tradutor de SQL, suporte a schema e pool de conexões
- Conexões: novo_local (Postgres externo) e firebird_local (legado)
- Tela de rotas da API redesenhada (auth, params, exemplos de body)
- Correções de segurança (críticos/altos/médios/baixos): XSS no chat,
escalonamento de privilégio, mídia autenticada, SQL restrito a gerente,
JWT sem fallback + issuer, IDOR em conversas, CORS por allowlist,
rate-limit no login, limites de corpo por rota
- Deploy alinhado: install.sh grava .env com PG_*, migracoes.js driver-aware
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>