Pular para conteúdo

Release da Semana — W28 (06–10 Jul)

Briefing de Negócio

Semana de consolidação e manutenção da saúde do Kanban. Três pilares:

  1. Kanban sincronizado: corrigimos a dessincronização entre cards e análises (6 PRs), reconciliação automática restaurada e contagem acelerada 400x (~8s → ~20ms).
  2. Fluxo comercial expandido: novas abas e bases de disparo (Negociações na ficha, base Pré-aprovado), plus liberação de ações para qualquer usuário.
  3. Triagem de pré-análise robusta: filtros de data, seleção em lote, provedor explícito; suporte completo a Klavi além de Belvo; canário desligado (era 100% falso positivo).

Extras (infraestrutura): - CI da API destravada (pnpm version conflict resolvido) - Harness aprimorado: ci-scout agora investiga produção com Railway + PostHog - Governança de telemetria: PostHog auditado (91k persons anônimos detectados e marcados pra cleanup)

Categorias

🚀 Features (9 PRs)

PR Título Refs
#83 Negócio ≙ Análise — 1:1 estrito no Kanban #75
#82 Governança de telemetria PostHog (ci-scout/pr-guardian)
#81 ci-scout ganha Railway + PostHog; roteamento de bugs
#80 Base "Pré-aprovado" (proposta criada sem ida à mesa)
#74 Aba "Negociações" na ficha do contato
#70 Libera "Mover para…" do card para qualquer usuário
#56 Command p/ re-validar mesas "Em análise" e negar reprovadas
#54 Re-solicitar relatório funciona para Klavi (#35) #35, #49
#52 Triagem da Revisão — filtros, bulk, view #49, #48, #50, #51

Destaque: ADR-0008 (Negócio ≙ Análise, 1:1 estrito) — fim da unicidade por contato; um contato agora pode ter N negócios independentes (um por ciclo de crédito). Resolve card voltando pra Nova Análise no meio da negociação.

🐛 Fixes (11 PRs)

PR Título Refs
#73 Mostra negócios sem responsável em "Em formalização"
#72 Pegar 409 white screen e sync responsavel
#71 Re-aplica DEV-916 (coluna Atualizado em + fix salvar status) DEV-916, DEV-918, DEV-919
#69 Religa cron de reconciliação card ↔ mesa
#67 Reconciliador seguro (remove @Cron) + contagem sem cap 1000 #60, #61, #62
#66 Salvar status reflete na tela de elegíveis DEV-916, DEV-918, DEV-919
#65 Sincronização card ↔ mesa (fecha #60 #61 #62) #60, #61, #62
#64 400 ao adicionar contato (enum ocupacao) + Novo Contato no CRM
#59 Corrige falso positivo do canário (banco:ok, não 'aceito')
#57 Decide painel OF pelo provider (Klavi/Belvo), não heurística 404
#55 Motor analise-rating só roda para clientes novos

Destaque: Kanban dessincronizado (card preso no Comercial, análise ativa na Mesa). Causa raiz: evento BullMQ perdido. Três correções: ReabrirNegocio idempotente (#60), logging com Sentry (#61), reconciliador cron backstop estreitado (#62). Pós-merge: ~40 casos legados curados.

♻️ Refactors / Perf (2 PRs)

PR Título Detalhe
#68 Contagem do Kanban via RPC agregada ~8s → ~20ms (100% do load em contagem; 96% arquivados)
#63 Destrava CI da API + pr-guardian vira revisor sênior pnpm version conflict; pr-guardian.md reescrita (skill-driven review)

Números

  • Total: 22 PRs mergeados
  • Features: 9 | Fixes: 11 | Refactors/Perf: 2
  • Apps alterados: api-menos-juros (14 PRs), crm-menos-juros (10), agents/agents-menos-juros (harness)
  • Migrations: 1 (ADR-0008: negocio.analise_id 1:1)
  • Incidentes resolvidos: Kanban dessincronizado (4 órfãos em prod), falso positivo de canário (49 Sentry events)

Deploy

⚠️ Bloqueantes

  1. #83 (ADR-0008): migration manual em prod antes do deploy do código (senão schema velho quebra o novo). Backfill: reconciliar-negocios (dry-run primeiro), depois cleanup de 140 cards em Mesa/NOVA_ANALISE cuja análise está Negada.
  2. #65–#69 (Kanban sync): O cron ReconciliarNegociosCommand foi removido em #67 (causa raiz de inundação). Após o deploy, rodar: npm run reconciliar-negocios:prod pra curar os ~40 casos legados.

Sequência sugerida

  1. Deploy API (com migration #83).
  2. Deploy CRM (aba Negociações, base Pré-aprovado, triagem).
  3. Deploy agents (ci-scout Railway, pr-guardian revised).
  4. Rodá: npm run reconciliar-negocios:prod:dry-run → visualizar → npm run reconciliar-negocios:prod pra cura.

Rollback

  • 83: sem rollback automático (schema mudou). Manual: reverter migration, restaurar backup, re-criar análises ativas se necessário.

  • Demais: git revert standard.

Fora de escopo (follow-ups)

  • #52–#57: Klavi code 5003 (instituição indisponível) — auto-retry transitório gated em #35 (próximo PR).
  • #56: Backfill de mesas "Em análise" reprovadas — rodar dry-run primeiro pra quantificar.
  • #82: Cleanup dos ~91k persons anônimos no PostHog após o deploy (aprovado, executar depois).

Atualizado: 2026-07-10 (sexta, fim de sprint) via release-scout mode SEMANAL