Cerebro Studio · Backlog · Changelog
/www/wwwroot/legalizarj.com.br/docs/CHANGELOG.md • 2026-05-12T00:36:44.838Z

Projeto: LegalizaRJ. Fonte principal: /www/wwwroot/legalizarj.com.br/docs/CHANGELOG.md.

CHANGELOG - LegalizaRJ

Formato: [Semver-ish] - Data - Descricao


[0.1.9] - 2026-05-11 - BK-30: Alerta da primeira mensagem WhatsApp do dia

Adicionado

  • admin/api/whatsapp_ingest.php agora envia uma copia da primeira mensagem recebida no dia por telefone para 5521999915554.
  • As mensagens seguintes do mesmo telefone no mesmo dia nao geram novo alerta.

Operacional

  • A regra roda no endpoint de ingestao real do WhatsApp, antes da tela admin/whatsapp.php, para cobrir mensagens recebidas mesmo quando o painel nao esta aberto.

[0.1.8] - 2026-04-02 - BK-24: Versao JPG do about para avatar/redes sociais

Adicionado

  • img/about.jpg criado a partir de img/about.png para uso em avatar de redes sociais e WhatsApp.

Ajustado

  • a versao JPG recebeu fundo branco e canvas ampliado para melhorar crop circular, com mais respiro ao redor da arte.

Documentacao

  • backlog vivo da entrega registrado em docs/backlog/BK-24-about-jpg-avatar.md.

[0.1.7] - 2026-03-26 - BK-22: Separacao final do WhatsApp entre projetos

Ajustado

  • admin/whatsapp_qr.php agora desabilita cache, atualiza o QR automaticamente e avisa quando o codigo exibido pode estar vencido.
  • admin/whatsapp_qr.php ganhou acao explicita para reiniciar a sessao e gerar novo QR mesmo com o helper desconectado.
  • admin/whatsapp.php passou a mostrar a porta real configurada em WA_API_URL no estado desconectado.
  • .gitignore passou a ignorar admin/runtime/, usado pela instancia dedicada do WhatsApp do LegalizaRJ.

Operacional

  • Limpeza do SQLite para remover historico de conversas contaminadas pelo numero do Rio no Teatro.
  • Remocao do contato 5521999605790 e do cliente fantasma Rio no Teatro (Jorge) criados durante o teste cruzado.

[0.1.7] - 2026-05-06 - BK-SHADOW-AGENT: Sistema de Aprendizado e Atualizacao de Numero

Adicionado

  • Shadow Agent: Sistema de aprendizado passivo que gera predições de resposta baseadas no contexto (PRD/TDD) e compara com respostas humanas reais.
  • admin/includes/shadow_agent_helper.php: Helper para logging de interações.
  • admin/agent/shadow_processor.js: Processador em Node.js que consome os logs e gera o relatório docs/learning/whatsapp_shadow.md.
  • Cron job para execução automática do processador a cada 5 minutos.
  • Créditos de produção e SEO no rodapé do site com link direto para orçamento.

Alterado

  • Número de WhatsApp: Atualizado de 5521999565266 para 5521991424260 em todo o frontend (index.php).
  • admin/api/whatsapp_ingest.php: Integrado hook para log de mensagens recebidas no Shadow Agent.
  • admin/api/whatsapp_send.php: Integrado hook para log de mensagens enviadas no Shadow Agent.
  • AGENTS.md: Reforçado protocolo anti-pull e hardening de branch na VPS.
  • admin/financeiro.php: Implementada gestão de despesas (saídas e gastos fixos mensais).

Segurança

  • Backup da sessão ativa do WhatsApp (Puppeteer) realizado e salvo em admin/runtime/.

[0.1.6] - 2026-03-11 - BK-21: Padronizacao do AGENTS com validacao tecnica obrigatoria

Documentacao

  • AGENTS.md atualizado com checklist obrigatorio de validacao tecnica antes de commit, merge ou fechamento de BK.
  • Adicionada exigencia de:
  • php -l para arquivos PHP alterados;
  • node --check/node -c para arquivos JavaScript alterados;
  • validacao de JS inline renderizado quando houver <script> em .php/.html;
  • validacao ponta a ponta de fluxos AJAX/submit criticos.

[0.1.5] - 2026-03-04 - BK-20: WhatsApp CRM fase 2 + hardening de seguranca

Adicionado

  • Busca de conversas no admin/whatsapp.php por nome, numero e conteudo textual das mensagens.
  • Menu de acoes por conversa com opcoes contextuais.
  • Acao de Arquivar e Desarquivar conversa com filtro Ver arquivados.
  • Migration admin/migrations/2026_03_04_whatsapp_archive_flag.sql para suportar flag de arquivamento.
  • Cadastro rapido de cliente via botao Cliente no topo da conversa.
  • Guia operacional atualizado em docs/WHATSAPP_CRM_INTEGRACAO.md com fluxo completo e seguranca HMAC.

Ajustado

  • Correcao de warnings deprecados no admin/cliente_form.php (htmlspecialchars com valor nulo).
  • Botao Restrito/Pessoal movido para menu contextual quando contato ja e cliente/restrito.
  • Limpeza de mensagens de contato de teste (5521999990000) no banco.

Seguranca

  • admin/api/whatsapp_ingest.php passou a:
  • aceitar token somente via header X-Api-Token;
  • exigir X-Webhook-Timestamp com validade de 5 minutos;
  • exigir X-Webhook-Signature HMAC SHA-256;
  • ignorar payload com telefone fora do padrao BR.
  • Helper WhatsApp (rionoteatro) passou a:
  • enviar webhook apenas para chat privado (@c.us/@s.whatsapp.net);
  • assinar payload com HMAC (X-Webhook-Signature) e timestamp.

[0.1.4] - 2026-03-04 - BK-18: Documentacao operacional WhatsApp + backlog de portabilidade

Adicionado

  • docs/WHATSAPP_CRM_INTEGRACAO.md com arquitetura, variaveis, fluxos de envio/recebimento, politica de restritos e troca de numero via QR.
  • Backlog detalhado BK-18 (concluido) e BK-19 (portabilidade para Rio no Teatro) em docs/BACKLOG.md.

[0.1.2] - 2026-03-03 - BK-13: Contatos WhatsApp restritos/pessoais

Adicionado

  • Politica por numero em whatsapp_contatos: status ativo ou restrito.
  • Acoes no painel WhatsApp para Marcar Restrito/Pessoal e Reativar contato.
  • Filtro visual para mostrar/ocultar conversas restritas.

Ajustado

  • admin/api/whatsapp_ingest.php passa a ignorar novas mensagens de numeros restritos.
  • admin/api/whatsapp_send.php bloqueia envio para contatos marcados como restritos.
  • Migration admin/migrations/2026_03_04_whatsapp_contact_policy.sql cria a tabela de controle.

[0.1.1] - 2026-03-03 - BK-13: Unificacao de telefone WhatsApp (com/sem 55)

Ajustado

  • Normalizacao de telefone BR (E.164) em cadastro de clientes e APIs de WhatsApp.
  • Unificacao de conversas: mensagens com 219... e 55219... passam a cair no mesmo chat.
  • Migration admin/migrations/2026_03_04_normalize_phones_e164.sql converte dados antigos para o padrao com 55.
  • admin/api/whatsapp_ingest.php agora aceita payload legado (numero/tipo) e vincula cliente por variantes do telefone.
  • admin/api/whatsapp_send.php envia com variantes de numero e evita duplicacao de mensagem quando o webhook de retorno do helper ja registra o envio.
  • Links wa.me ajustados para nao duplicar 55.

[0.1.0] - 2026-03-03 - BK-13: CRM Admin MVP + WhatsApp

Adicionado

  • admin/login.php - Autenticacao por sessao com senha via .env.local ou variavel de ambiente ADMIN_PASSWORD
  • admin/index.php - Dashboard com KPIs financeiros (a receber, recebido, em atraso, total clientes), pipeline de status, servicos e timeline mensal
  • admin/clientes.php - Listagem com filtros por busca, status e servico
  • admin/cliente_form.php - Cadastro e edicao de clientes com todos os campos necessarios
  • admin/cliente_ver.php - Visualizacao completa: dados, movimentacoes financeiras, notas rapidas e conversa WhatsApp
  • admin/financeiro.php - Listagem global de lancamentos com filtros por tipo e mes, destaque de atrasos
  • admin/whatsapp.php - Painel de conversas agrupadas por contato, com envio integrado ao servidor WA local
  • admin/api/whatsapp_ingest.php - Endpoint POST para receber mensagens do bot/webhook, vincula automaticamente a cliente por telefone
  • admin/api/whatsapp_send.php - Envio de mensagens via 127.0.0.1:3033, com fallback local
  • admin/api/whatsapp_status.php - Proxy autenticado para endpoints status/qr do servidor WA
  • admin/includes/bootstrap.php - Inicializacao, helpers (format_brl, format_date, flash, CSRF, badges)
  • admin/includes/auth.php - Funcoes de sessao, login, logout, load_env
  • admin/includes/migrate.php - Migrations SQLite versionadas por script SQL
  • admin/migrations/2025_01_01_initial.sql - Esquema inicial: clientes, movimentacoes, notas, whatsapp_mensagens + indices
  • admin/includes/layout_header.php / layout_footer.php - Layout compartilhado com sidebar dark, topbar e flash messages
  • .env.local.example - Template de variaveis de ambiente
  • .gitignore - Exclui data/, .env.local, logs, SQLite
  • docs/BACKLOG.md - Backlog completo de features
  • docs/CHANGELOG.md - Este arquivo

Seguranca

  • CSRF token em todos os formularios POST
  • Autenticacao por sessao obrigatoria em todas as paginas admin
  • httponly e SameSite=Lax nos cookies de sessao
  • Token de API para endpoint de ingestao WhatsApp
  • Diretorio data/ fora do git (banco SQLite com dados reais)