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.phpagora envia uma copia da primeira mensagem recebida no dia por telefone para5521999915554.- 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.jpgcriado a partir deimg/about.pngpara 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.phpagora desabilita cache, atualiza o QR automaticamente e avisa quando o codigo exibido pode estar vencido.admin/whatsapp_qr.phpganhou acao explicita para reiniciar a sessao e gerar novo QR mesmo com o helper desconectado.admin/whatsapp.phppassou a mostrar a porta real configurada emWA_API_URLno estado desconectado..gitignorepassou a ignoraradmin/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
5521999605790e do cliente fantasmaRio 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óriodocs/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
5521999565266para5521991424260em 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.mdatualizado com checklist obrigatorio de validacao tecnica antes de commit, merge ou fechamento de BK.- Adicionada exigencia de:
php -lpara arquivos PHP alterados;node --check/node -cpara 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.phppor nome, numero e conteudo textual das mensagens. - Menu de acoes
⋮por conversa com opcoes contextuais. - Acao de
ArquivareDesarquivarconversa com filtroVer arquivados. - Migration
admin/migrations/2026_03_04_whatsapp_archive_flag.sqlpara suportar flag de arquivamento. - Cadastro rapido de cliente via botao
Clienteno topo da conversa. - Guia operacional atualizado em
docs/WHATSAPP_CRM_INTEGRACAO.mdcom fluxo completo e seguranca HMAC.
Ajustado
- Correcao de warnings deprecados no
admin/cliente_form.php(htmlspecialcharscom valor nulo). - Botao
Restrito/Pessoalmovido para menu contextual quando contato ja e cliente/restrito. - Limpeza de mensagens de contato de teste (
5521999990000) no banco.
Seguranca
admin/api/whatsapp_ingest.phppassou a:- aceitar token somente via header
X-Api-Token; - exigir
X-Webhook-Timestampcom validade de 5 minutos; - exigir
X-Webhook-SignatureHMAC 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.mdcom 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: statusativoourestrito. - Acoes no painel WhatsApp para
Marcar Restrito/PessoaleReativar contato. - Filtro visual para mostrar/ocultar conversas restritas.
Ajustado
admin/api/whatsapp_ingest.phppassa a ignorar novas mensagens de numeros restritos.admin/api/whatsapp_send.phpbloqueia envio para contatos marcados como restritos.- Migration
admin/migrations/2026_03_04_whatsapp_contact_policy.sqlcria 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...e55219...passam a cair no mesmo chat. - Migration
admin/migrations/2026_03_04_normalize_phones_e164.sqlconverte dados antigos para o padrao com55. - 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.localou variavel de ambienteADMIN_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
httponlyeSameSite=Laxnos cookies de sessao- Token de API para endpoint de ingestao WhatsApp
- Diretorio
data/fora do git (banco SQLite com dados reais)