Novidades » Julho 2026
Início › Julho de 2026
Julho abriu a série de entregas. O ADM ganhou os Dashboards v2 e a tela de Projetos foi refeita em cima da taxonomia STEP. ADM e Plataforma de Dados passaram a compartilhar o cadastro de clientes. O Showcase ficou enxuto, e o arquivo de conversas de WhatsApp foi do zero à produção em uma semana.
O que mudou para você
- oxiadmDashboards v2
Séries no tempo, ARPU, ciclo de vida e qualidade por squad. Gráficos interativos com clique para filtrar. Abas Performance Interna (ranking de GPs e squads) e Custo Estrutura (folha por lotação, só Admin), com drill-down até projeto e pessoa.
Na prática: A unidade inteira numa tela, e cada número abre para mostrar de onde veio.
- oxiadmProjetos organizados pelo STEP
Etapas configuráveis, Kanban por categoria (Saber, Ter, Executar, Potencializar), valor total por coluna, fase macro e filtro favorito por usuário.
Na prática: Cada projeto na etapa certa e o dinheiro visível em cada coluna.
- oxiadmCusto de squad de verdade
Rateio real de custo com ócio, coordenadores e indiretos, custo de time por logo, e churn medido só na régua Executar.
Na prática: Margem por squad sai com o custo completo, não só o das horas alocadas.
- oxidataUm cadastro só entre ADM e Plataforma de Dados
Clientes casados por CNPJ, papéis GP e GT vindos da alocação, coordenador entre os responsáveis, empresa ativa/inativa e dash interno de performance por squad. Filtros por squad e GP na lista de empresas.
Na prática: Ninguém digita cliente duas vezes, e o dado de projeto que aparece no oxidata é o do ADM.
- oxishowShowcase lê tudo do Oxidata
Núcleo enxuto, sem IA, ads, feedback e gamificação. Clientes e métricas do intervalo vêm prontos do Oxidata, com o mesmo login.
Na prática: Relatório de check-in sem redigitar métrica nenhuma.
- oxiwhatsNasce o arquivo de conversas
Captura via Z-API com mídia guardada, transcrição automática de áudio, busca por texto completo, servidor MCP para agentes de IA e login Google restrito ao domínio da V4.
Na prática: As conversas dos grupos de cliente ficam pesquisáveis, áudio incluído.
- oxiviewDeck trocado sem quebrar o link
Substituir o arquivo de uma apresentação mantendo o link de compartilhamento, renomear e apagar pastas, baixar o deck como um único arquivo.
Na prática: O link que o cliente já recebeu continua valendo depois da revisão.
O que veio em agosto de 2026
- oxiadmVariável calculada pelo sistema
- oxiadmSquads: projeção à frente e passado congelado
- oxiadmCliente novo entra por uma esteira
- oxiadmCarteira que reflete a realidade
- oxiadmAlocação com histórico preservado
- CRMUma empresa nova em minutos
- CRMAgente de IA que qualifica em vez de conversar
- CRMTudo do cliente dentro do inbox
- oxidataSaúde da Carteira e NPS
- oxiwhatsConversa vira link
Detalhamento por sistema
Item a item, com link para a mudança no código. Clique num sistema para filtrar.

Índice
oxiadm
- 1. Réguas por categoria STEP — churn só no Executar
- 2. Valor total por coluna no Kanban
- 3. Aba Custo Estrutura — folha por lotação (admin-only)
- 4. Drill-down clicável — projetos da receita e time do custo
- 5. Custo Time por logo + overhead separado (v2)
- 6. Fase macro (medir+filtrar) + filtro favorito por usuário/aba
- 7. Rateio real de custo — ócio, coordenadores e indiretos
- 8. Aba Performance Interna — ranking de GPs e squads (coordenadores)
- 9. Conversao de cambio USD/EUR->BRL nos somatorios de contratos
- 10. Coordenador vê squads + transparência de leitura
- 11. Taxonomia STEP na categoria + reforma UX de /projects (Fase 14)
- 12. Fase 13: Etapas de projeto configuráveis + Kanban por categoria (ADR-027)
- 13. Gráficos interativos: tooltip rico + hover + clique-para-filtrar
- 14. Alocação: papel único estruturado + active_projects_count na integração
- 15. Integração: coordenador nos owners + recorrência ativa
- 16. Dashboards v2 — séries temporais, ARPU, ciclo de vida e qualidade por squad
- 17. Endpoint de integração: governança de clientes para a Plataforma de Dados
- 18. Papel estruturado GP/GT na alocação + dupla no endpoint de integração
- 19. Converter valor próprio de projeto USD→BRL (Squads + Equipe)
- 20. Churn status-first — aviso prévio vencido churna, retenção reverte, one-time finaliza
- 21. Rota de integração fora do gate de sessão do middleware
oxidata
- 22. Filtros de Squad e Gestor de Projetos na lista de empresas
- 23. Login por e-mail (magic link) para cliente sem conta Google
- 24. Gráfico de performance interna por squad (Investimento × Receita)
- 25. Integração Showcase + grupo Check-in no sidebar
- 26. Separar clientes sem projeto ativo no ADM da cobertura
- 27. Empresa ativa/inativa + filtrar sem-projeto-ativo por padrão no dash interno
- 28. Dash interno: coordenador fora das duplas + filtro por recorrência ativa
- 29. Ranking de duplas só com GP+GT reais (função na alocação manda)
- 30. Integração de cadastros com a Oxicore ADM Platform (CNPJ como chave)
- 31. Integração ADM v2 — vínculos sem CNPJ, N/A e Dash Interno de Performance
- 32. Estágio Leads usa waterfall canônico (CRM>ads, ADR-013)
- 33. Isentar /api/adm-integration do gate de sessão do middleware
oxiwhats
- 34. Z-API ingestion webhook with R2 media upload and dedup (fase 02)
- 35. Audio transcription cron, media purge and DLQ alerting (fase 03)
- 36. Sobe app em produção, worker de cron e ajustes de canal (fase 06)
- 37. Full-text search, MCP server and REST support endpoints (fase 04)
- 38. Wire conversation viewer and channel registry to real data (fase 05)
- 39. Google OAuth login restricted to v4company.com (fase 01)
- 40. Renderiza legenda de documento (PDF) na thread
oxishow
- 41. Núcleo enxuto — remoção de IA/Ads/feedback/gamificação + schema de drop
- 42. Clientes do Oxidata + prefill de métricas do intervalo
- 43. Auth Oxidata + dados/prefill + branding (restante da stack #2-#4)
- 44. 100% read-only do Oxidata — sem preenchimento redundante
- 45. Rewrite SPA na Vercel — rotas client-side caíam em 404
Oxicore ADM Platform
Julho abriu a série de PRs do ADM com os Dashboards v2, a integração com a Plataforma de Dados e a reforma da tela de Projetos: etapas configuráveis, Kanban por categoria e taxonomia STEP.
1. Réguas por categoria STEP — churn só no Executar Novidade
O gráfico "Churn mensal por squad" mostrava 100% de churn no Jarvis - Saber em Mai/26 — um squad que só entrega projetos Saber (escopo fechado) e tinha 1 cliente na base. Churn é KPI de recorrência (Executar); Saber e Ter precisam de réguas próprias. Decisões do Gabriel registradas na ADR-032.

2. Valor total por coluna no Kanban Novidade
Cada coluna do Kanban de /projects já mostrava a quantidade de projetos. Agora mostra também o valor total da coluna em R$, logo abaixo da contagem — nas abas de tier (Saber/Ter/Executar/Potencializar) e na Visão geral.
3. Aba Custo Estrutura — folha por lotação (admin-only) Novidade
O nível executivo precisa da visão de estrutura de custo com pessoas: quanto custa cada squad, a área comercial e o overhead, com drill-down até o investidor (nome + remuneração). Acesso restrito ao papel mais alto (admin).
4. Drill-down clicável — projetos da receita e time do custo Novidade
Pedido da gestão: nos cards da aba Squads, poder clicar para ver quais projetos estão contabilizando a receita total do squad e qual time está compondo o custo.
5. Custo Time por logo + overhead separado (v2) Novidade
Feedback da gestão sobre a v1 em produção (print Spartans/Templários): o custo do squad deve ser o valor total de M.O. do time, coordenador embutido, e só o overhead é rateio.
6. Fase macro (medir+filtrar) + filtro favorito por usuário/aba Novidade
Duas coisas em /projects, pedidas pelo Gabriel:
7. Rateio real de custo — ócio, coordenadores e indiretos Novidade
A aba Squads · Custo × Receita calculava M.O. como salário × %alocado, o que fazia o ócio sumir (tempo não alocado não era cobrado de ninguém), deixava coordenadores de fora do custo dos squads, e só tinha uma gerência fixa (R$11.000). Este PR faz o custo por squad refletir o custo real, conforme pedido da gestão.
8. Aba Performance Interna — ranking de GPs e squads (coordenadores) Novidade
Nova aba Performance no dashboard (/dashboard/performance) com ranking de GPs e de squads por período, para medir quem performou melhor.
9. Conversao de cambio USD/EUR->BRL nos somatorios de contratos Novidade
Fase 15 completa (ADR-031) — card EKyte #9834002. Os somatórios financeiros do painel (MRR ativo, carteira, receita, ARPU, LTV e o gráfico de receita por squad — "gráfico da Jarvis") passam a converter contratos em USD/EUR para BRL antes de somar, por uma taxa de câmbio mensal rastreável.
10. Coordenador vê squads + transparência de leitura Novidade
> Base: feat/squads-custo-rateio-real (PR #11). Mergear o #11 primeiro; depois este rebaseia sozinho para main. O diff aqui mostra só as mudanças de permissões.
11. Taxonomia STEP na categoria + reforma UX de /projects (Fase 14) Novidade
Card EKyte #9834001. Fecha o plano docs/plan/fase-14-taxonomia-step.md em 3 commits sequenciais (uma fatia cada), sem quebrar governança/DQS/aviso prévio/contratos externos (integração, MCP, status-summary).
12. Fase 13: Etapas de projeto configuráveis + Kanban por categoria (ADR-027) Novidade
Implementa a fase-13 completa (3 fatias) do plano docs/plan/fase-13-etapas-projeto-configuraveis.md, formalizada em ADR-027.
13. Gráficos interativos: tooltip rico + hover + clique-para-filtrar Novidade
Torna todos os gráficos dos dashboards "vivos", mantendo os SVGs caseiros (dark-first, tokens do DS) — sem adicionar Recharts.
14. Alocação: papel único estruturado + active_projects_count na integração Novidade
Dois ajustes pequenos (sem mudança de schema).
15. Integração: coordenador nos owners + recorrência ativa Novidade
Dois sinais novos no GET /api/v1/integration/clients para o dash interno da Plataforma de Dados (somente leitura, sem schema).
16. Dashboards v2 — séries temporais, ARPU, ciclo de vida e qualidade por squad Novidade
Reconstrução das seis abas do dashboard executivo, mantendo tudo que existia e adicionando leitura de período, mix de receita e ciclo de vida do cliente.
17. Endpoint de integração: governança de clientes para a Plataforma de Dados Novidade
Integração ADM ↔ Plataforma de Dados (dashboard.v4oxicore.app.br) usando CNPJ como chave. O ADM é a fonte da governança de clientes; a plataforma de dados vai sincronizar este payload para vincular tenants por CNPJ, montar a fila de onboarding de novos clientes e identificar inativos.
18. Papel estruturado GP/GT na alocação + dupla no endpoint de integração Novidade
Para o ranking de duplas GP+GT do dash interno da Plataforma de Dados (v4oxidata), a alocação ganha um papel estruturado:
19. Converter valor próprio de projeto USD→BRL (Squads + Equipe) Correção
No drill-down de receita da aba Squads, clientes em dólar apareciam com o valor cru exibido como R$ (ex.: Jax Truck Works R$ 998, H1 Remodeling LLC R$ 650, Goodnut R$ 1.005). Causa: projetos com valor próprio (projects.valor) não passavam pela conversão cambial — só o fallback via contrato (splitContractRevenue)…
20. Churn status-first — aviso prévio vencido churna, retenção reverte, one-time finaliza Correção
A regra de negócio de churn do oxiadm é status-first: quando o cliente pede para sair iniciamos FCAs de retenção, e a negociação pode devolver o contrato a active sem respeitar/limpar as datas antigas. Datas vencidas sozinhas nunca podem disparar churn. Além disso, one-time que termina é finalização do período…
21. Rota de integração fora do gate de sessão do middleware Correção
O middleware devolve 401 JSON para todo /api/ sem sessão Supabase — a rota /api/v1/integration/clients (PR #2), que tem auth própria por x-api-key (timing-safe vs INTEGRATIONAPI_KEY), nunca chegava a executar.
Plataforma de Dados
22. Filtros de Squad e Gestor de Projetos na lista de empresas Novidade
Adiciona dois filtros client-side à lista de empresas da Home (/), no componente TenantsOverviewTable:
23. Login por e-mail (magic link) para cliente sem conta Google Novidade
Segundo caminho de autenticação para cliente que não tem conta Google (caso Burntech): magic link por e-mail via Resend. allowed_users continua sendo o portão único de autorização, para os dois providers; a equipe V4 (@v4company.com) segue obrigada ao Google.
24. Gráfico de performance interna por squad (Investimento × Receita) Novidade
Adiciona um gráfico ao dash de Performance Interna (/dashboard/admin/performance), que hoje só tinha tabelas.
25. Integração Showcase + grupo Check-in no sidebar Novidade
Integração servidor-a-servidor para o novo app oxicore-showcase (relatórios de check-in de reunião), que usa esta plataforma como fonte de verdade de governança, cadastro de clientes e métricas.
26. Separar clientes sem projeto ativo no ADM da cobertura Novidade
Ajuste pedido: clientes sem projeto ativo no ADM não devem poluir a contagem de "clientes que ainda precisam estar conectados".
27. Empresa ativa/inativa + filtrar sem-projeto-ativo por padrão no dash interno Novidade
Dois ajustes pedidos.
28. Dash interno: coordenador fora das duplas + filtro por recorrência ativa Novidade
Par do ADM v4oxicore/oxicore-adm-platform#7 (mergeado). (1) Ranking de duplas GP+GT ignora coordenadores (iscoordinator = appuser role=gerente no ADM), que representam o squad. (2) Filtro padrão do Performance passa a exigir recorrência ativa: só-pontual/nenhum recorrente fica oculto por padrão; recorrente+pontual…
29. Ranking de duplas só com GP+GT reais (função na alocação manda) Novidade
Refinamento do dash interno conforme decidido: a função na alocação é a fonte da verdade para o ranking de duplas.
30. Integração de cadastros com a Oxicore ADM Platform (CNPJ como chave) Novidade
O ADM (admin.v4oxicore.app.br) é o cadastro-mestre que rege a governança de clientes. Este PR integra os cadastros das duas plataformas usando CNPJ como chave, seguindo as regras do repo (Server Actions + audit log, migration manual idempotente, DATA_DICTIONARY/SPEC/CHANGELOG/READMEs atualizados).
31. Integração ADM v2 — vínculos sem CNPJ, N/A e Dash Interno de Performance Novidade
Evolução da integração ADM (PR #2) a partir do uso real + novo dash de gestão. Par do PR do ADM v4oxicore/oxicore-adm-platform#4 (papel GP/GT estruturado — já em produção).
32. Estágio Leads usa waterfall canônico (CRM>ads, ADR-013) Correção
S1 do plano corrigir-leads-funil-e-reconciliar-investimento.
33. Isentar /api/adm-integration do gate de sessão do middleware Correção
A rota servidor-a-servidor POST /api/adm-integration/bootstrap (auth própria por x-api-key, PR #2) era redirecionada para /login pelo middleware antes de executar. Exceção adicionada em isPublicPath com comentário apontando o README da rota. tsc ✅.
WhatsApp Inbox (arquivo de conversas)
34. Z-API ingestion webhook with R2 media upload and dedup (fase 02) Novidade
Rota POST /api/webhooks/zapi: valida token, resolve/cria canal (balde unassigned sem descartar mensagem, ADR-0007), dedup idempotente por externalmessageid, baixa mídia da Z-API e sobe pro R2 antes de responder, grava message com type/direction/body/media/raw/mediastatus, enfileira job de transcrição só para áudio em…
35. Audio transcription cron, media purge and DLQ alerting (fase 03) Novidade
Rota POST /api/cron/process-jobs: claim/lock atomico de jobs pending (UPDATE ... FOR UPDATE SKIP LOCKED numa unica query, sem corrida entre execucoes concorrentes do cron), transcricao de audio via OpenRouter (lib/openrouter.ts, modelo multimodal trocavel por OPENROUTERAUDIOMODEL), grava messages.transcription +…
36. Sobe app em produção, worker de cron e ajustes de canal (fase 06) Novidade
App em produção na Vercel (whatsapp.v4oxicore.app.br) e Worker de relay para os Cloudflare Cron Triggers (packages/cron-worker/, ADR-0012), sem lógica de negócio própria. Validado ponta a ponta com tráfego real de uma instância Z-API: texto, imagem, áudio (transcrito) e documento capturados; dedup, DLQ forçada, purga,…
37. Full-text search, MCP server and REST support endpoints (fase 04) Novidade
Servidor MCP (Streamable HTTP) em app/mcp/route.ts, montado com mcp-handler (adapter oficial da Vercel para Next.js sobre @modelcontextprotocol/sdk) em vez de portar manualmente o esqueleto do oxicore-comunicacao - mesmo protocolo, menos codigo de transporte para manter (ver nota no ADR-0009). Sete tools read-only:…
38. Wire conversation viewer and channel registry to real data (fase 05) Novidade
Replace the Fase 00 mock data with real REST-backed screens: conversation viewer (channel list + thread with date navigation, all messagetype renderers, lazy signed-URL media, reaction-to-target linking) and channel registration (real link/isinternal endpoints, unassigned queue). Adds GET /api/v1/channels/:id/messages…
39. Google OAuth login restricted to v4company.com (fase 01) Novidade
Better Auth com login via Google, sem e-mail/senha. Restrição de domínio em duas camadas: claim hd do provider + databaseHooks.user.create.before (defesa em profundidade — ver ADR-0011). Tela de login (app/login) no vocabulário da referência docs/design/referencia/app.html (11.1 · login). Rota autenticada (/ e…
40. Renderiza legenda de documento (PDF) na thread Correção
message.body (legenda) já vinha certo do backend (fix anterior desta fase), mas MessageBubble.tsx só usava como fallback do título quando faltava filename — nunca desenhava como legenda, ao contrário de imagem/vídeo. Achado pelo usuário conferindo a UI de produção depois do fix de captura-ingestao.md.
Oxicore Showcase (check-in)
41. Núcleo enxuto — remoção de IA/Ads/feedback/gamificação + schema de drop Novidade
Reduz o fork ao núcleo do sistema de check-in: hub de clientes, detalhe do cliente, builder de reunião, apresentação (+ links públicos /view/), export PDF/Google Slides, notificações + fluxo de aprovação, admin/teams/squads/compare.
42. Clientes do Oxidata + prefill de métricas do intervalo Novidade
Liga o showcase aos dados do Oxidata: o cadastro de clientes vira espelho dos tenants e o builder ganha "Importar do Oxidata", que pré-preenche o relatório com os agregados do intervalo selecionado — mantendo tudo editável (decisão aprovada: prefill + edição manual).
43. Auth Oxidata + dados/prefill + branding (restante da stack #2-#4) Novidade
Reabre o restante da stack após o fechamento automático de #2/#4 (bases deletadas no merge de #1/#3). Contém: Google OAuth + whitelist do Oxidata (#2), sync de clientes + prefill de métricas (#3) e branding/README (#4), já com o fix de parse defensivo das edge functions e types.ts regenerado.
44. 100% read-only do Oxidata — sem preenchimento redundante Novidade
Pedido do Gabriel (10/07): usuários/equipes/squads/clientes já são governados no oxiadm→oxidata; manter campos editáveis aqui = dois lugares para atualizar = risco de desatualização.
45. Rewrite SPA na Vercel — rotas client-side caíam em 404 Correção
Rotas navegadas direto pela URL caíam em 404 na Vercel; o rewrite de SPA devolve o app em qualquer rota.
Slide Viewer
47. Adicionar ação Substituir também no card da listagem Novidade
Além da toolbar do viewer, o DeckCard agora expõe um ícone ⟳ no hover (ao lado de baixar/excluir) que abre o mesmo ReplaceFileDialog. DeckListClient passa onReplace -> router.refresh().
48. Rename/delete folders + download deck as .html Novidade
Pastas podem ser renomeadas e apagadas, e qualquer deck pode ser baixado como arquivo .html único.