Status vivo · 10 jul 2026 · tarde · dig.D

Copiloto 2.0

O sistema que lê a conversa real da corretora e devolve coaching de venda — virando produto SaaS pra imobiliárias. Dois trilhos, um motor: o Copiloto (Bettin) e a Plataforma dig.D (a agência). Este é o mapa de tudo.

P0 🚀
em produção · validado E2E
Gi
cadência habilitada
670+
testes verdes · era 73 falhas
158
leads onda 1 · aguarda GO
A decisão que destrava tudo

Opção A — nosso banco é o dono

Conselho (Antonio + Dalio) unânime, validado no código. Twenty não vira fonte de verdade — não faz multi-tenant pra revenda, é AGPL, e custo de infra multiplica por cliente.

✓ CRAVADA

O lead mora no nosso Postgres, com tenant_id.

Não reconstruímos CRM: só a espinha do lead (identidade + etapa + tarefa). A UI rica fica pro cliente que pagar por ela. O diferencial — o coaching por IA — é o produto; o resto é encanamento que a gente controla.

SaaS trivialCliente novo = uma linha no banco, não um servidor novo.
Zero lock-inSem dependência externa no caminho crítico do dado.
Mata a doençaUm dono só acaba com as 3 definições de "atendido".
As etapas do projeto

De onde saímos até o SaaS

Cinco fases. A ordem não é capricho: primeiro parar de sangrar, depois cravar a fonte de verdade, depois generalizar o que já roda em 1 corretora pra 3, e só então escalar.

P0 Parar de sangrar 🚀 deployado em produção · 10/07

Bugs e furos de segurança que já custavam dinheiro ou risco em produção. Revisado, mergeado e rodando em produção — validado ponta a ponta com mensagem real da Dani.

  • Gate de dry_run na linha Gi + auth nos webhooks /cloud/* 14 testes verdes
  • Bug do áudio da Betinha (transcrição virava placeholder) 3 pontos corrigidos
  • Race da transcrição (2 workers, custo dobrado) + CLI provider mascarando erro achados do Codex · 26 testes
  • Lock do Inspector concorrente + idempotência do briefing da Dani
  • Deploy com a Dani concluído — merge 98a5578b, CLOUD_WEBHOOK_SECRET coordenado com o api-disparos, migrations 0042→0045 aplicadas no banco vivo, restart sem derrubar o feed da Gi validado E2E com mensagem real da Dani
P1 Fundação — fonte de verdade ◐ em curso

A decisão de arquitetura que trava todo o resto. Sem isso, nada do funil pode ser generalizado.

  • Decisão Opção A cravada (conselho + dev)
  • Fundação tenant_id — migrations 0042→0045 aplicadas no banco vivo, 29 tabelas 10/07
  • render_conversa() único — insumo idêntico pro classifier e o analyzer (mata a divergência que comeu 40% de qualidade)
  • Funil da Gi descongelado — cadência habilitada (decisão Dani, 10/07)
  • Dual-write Kommo→Postgres em sombra
P2 Generalizar de 1 corretora pra 3 ◐ em curso · Gi habilitada

Pegar o que já funciona numa linha (a Gi) e transformar em motor pra todas.

  • Linha da Gi HABILITADA (decisão Dani) — timer de cadência de hora em hora 9:15–18:15 SP ativo, bug do 1º toque (TypeError) corrigido antes de morder, teste real entregue no WhatsApp da Dani, copy do toque 1 aprovada em tom "reencontro"
  • Auto-enroll construído flag off por enquanto
  • Integrar credencial ao cofre da Fase 7 + migrar Jana e Clau pra Cloud API por ora seguram no Kommo — decisão Dani
  • Tarefas de ligação intercaladas + funil de remarketing (1 msg / 30 dias)
  • Painel V2 (imob.digd.com.br) — 📶 /cadencia no ar (acompanhamento em tempo real dos 8 toques); núcleo em construção: 🗂️ /crm kanban canônico + ☀️ /hoje Fila de Hoje, que mata as abas "Disparo" e "Funil"
🟨 Onda 1 = 158 leads sem resposta, prontos pra cadência — aguardando GO da Dani com a tela na mão.
P3 Escala — SaaS + voz planejado

Paralelizáveis entre si, depois da fundação firme.

  • Multi-tenant real — enforcement de tenant_id, onboarding de nova imobiliária
  • Discador + coaching de voz — disca → grava → transcreve (Whisper já existe) → Inspector analisa igual WhatsApp
P4 Expansão de produto futuro
  • Áudio gerado por IA na cadência (síntese de voz)
  • Betinha busca imóveis de terceiros na web (ZAP/Viva/OLX)
O segundo trilho · o cockpit da agência

Plataforma dig.D dashboard.digd.com.br

O mesmo motor, um tenant a mais. A dig.D vira tenant #1 do mesmo sistema multi-tenant da SaaS da Bettin — tudo que a gente constrói pra operar a agência já é o produto. Modelado no CRM que o Denderson mostrou (plataforma N.A.I.A.).

✓ TECH PROVIDER

Motor unificado — Postgres, não Twenty.

A dig.D já é Meta Tech Provider: cada número de cliente entra sob a dig.D via Embedded Signup. É o que torna o disparo multi-tenant viável — e encurta a fase de virar produto vendável.

M0Motor + CRM base✓ base feita
  • Decisão de motor: Postgres dono (dig.D = tenant #1) 10/jul
  • Kanban dig.D no dashboard (rota /crm) feito local 24/jun
  • Rota /crm passar a ler Postgres (tira o Twenty) + expor em prod
M1SDR de prospecção no Insta · a mágica Denderson◐ spec + esqueleto

Acha o ICP no Instagram → DM humanizada → puxa uma call → cai no CRM. Lead a ~R$3 (vs R$10-20 do tráfego).

  • Spec + esqueleto construídos esta noite — envio em dry-run, trava dupla SDR-IG-SPEC.md + sdr_ig.py
  • Plugar instagram-search (achar ICP) + Hermes (opera o Insta) atrás da trava
  • Detecção de resposta → agenda call (Maton/Calendar)
🟨 Disparo/DM real pra pessoa = só com OK literal da Dani (anti-ban + LGPD + TOS). Hoje só dry-run.
M3Cockpit completo + produtoplanejado

Módulos que a Dani opera num lugar só (rotas já scaffoldadas: crm · disparos · canais · posts · metricas · trafego · projetos · tarefas).

  • Posts + Métricas + Tráfego no mesmo painel (já existem como rota, falta ligar)
  • Módulo Projetos estilo Denderson — todos os clientes, menu por categoria, link pro repo
  • White-label / vender — Tech Provider já destrava o onboarding de cliente
Entregue hoje · 10 jul (tarde)

O que a frota entregou

Maestri (Sonnet Revisora + Painel Produto) + pool dev1–dev5, no padrão agente implementa, Dora valida/commita, deploy só com a Dani. O trabalho da madrugada saiu do branch e foi pra produção.

🚀 P0 em produção

Merge deployado com a Dani na tela: CLOUD_WEBHOOK_SECRET coordenado, migrations 0042→0045 no banco vivo, restart sem derrubar o feed da Gi — validado E2E com mensagem real.

merge 98a5578b

Linha da Gi habilitada

Timer de cadência de hora em hora (9:15–18:15 SP) ativo, bug do 1º toque corrigido antes de morder, teste real no WhatsApp da Dani, copy "reencontro" aprovada. Onda 1: 158 leads aguardando GO.

auto-enroll pronto · flag off

2 bugs reais de produção

Chat corretora↔corretora inflava métrica do briefing da Dani; connected_since ignorado (regressões de maio). Corrigidos e deployados antes do briefing.

3e45f936

Suíte de testes verde

De 73 falhas + 8 errors pra 1 falha — 670+ testes verdes. 5 rodadas Sonnet (Maestri) + dev2; conftest com schema migration-only.

tests/conftest.py

Painel V2 · /cadencia no ar

Acompanhamento em tempo real dos 8 toques. Núcleo V2 em construção: /crm kanban canônico + /hoje Fila de Hoje. Imob religado (estava fora do ar desde as 4h).

imob.digd.com.br/cadencia

Dash dig.D · /disparos real

Leitura real commitada; dash2.digd.com.br provisório no ar enquanto o oficial não assume.

2fac907e · dash2.digd.com.br
Como as peças se dividem

3 repos, 3 papéis, zero duplicação

O maior risco não é técnico, é organizacional: hoje há 2 sistemas de credencial e 3 de remarketing fazendo a mesma coisa. A regra do 2.0 é cravar onde cada responsabilidade mora.

o cérebro

copiloto-bettin

análise + coaching

O Inspector lê a conversa, gera o raio-X, e as entregas (Dani, corretora, Betinha) falam com humano. O diferencial mora aqui.

o motor

projetos/api

Fase 7 · cofre + disparo

Credencial isolada por tenant (auditada red-team), envio Cloud API, rotação de template, cadência. Fonte única de disparo.

a cara

dash-imobiliaria

Next.js · a UI

O painel real, já unificado, já lê os dados. Evolui pro Painel 2.0 — não é substituído.

A base da decisão

4 auditorias, código lido linha a linha

A orquestra Maestri (Mac) + a Dora (VPS) mapearam o sistema inteiro. Nada aqui é achismo.

🗺️

Mapa do sistema

2026-07-10-mapa-sistema.md · 43 KB

🔐

Arquitetura & segurança

2026-07-10-sonnet.md

🖥️

Produto do painel

2026-07-10-painel.md

🐛

Review de código

2026-07-10-codex.md · gpt-5.6-terra

⚠ O risco a vigiar

Tratar os 3 repos como sistemas separados reproduz, em escala maior, a fragmentação que já existe. Cada fase acima existe pra colapsar duplicação, não pra criar mais uma. Quem dispara pra cliente de verdade (a Gi) precisa passar a usar o cofre auditado — hoje não usa.