Bloxs · IBaaS · Documento de Projeto

DealMatch as-a-Tool

Fase 1 — especificação da área embedável no Workspace V2 e da esteira de skills que a alimenta. O DealMatch deixa de ser um scorer de distribuição e passa a ser a inteligência que atravessa o deal, da triagem à colocação.
Escopo: projeto, não produto Âncora: item "Ferramentas" (briefcase-08) Motor: score_match.py v1.6 Design system: Workspace V2
Premissa central. Não se redesenha o Workspace. Cria-se uma área que embeda painéis gerados por ações automáticas do DealMatch. A tool é o container; dentro dela vivem várias skills; cada skill roda uma parte da esteira de enriquecimento e devolve um painel. O motor de match só roda quando o dossiê do deal está completo.

1 Onde encaixa — a área no Workspace

A sidebar de 100px tem quatro itens: Resumo, Originações/Investir, Soluções e Ferramentas. O DealMatch é uma ferramenta — a tela de destino desse item é a área embedável.

Sidebar
100px
nav vertical fixa
Header
100px
toggle Investir/Emitir
Área de conteúdo
1340px
onde os painéis embedam
Dimensões confirmadas no metadata do Figma (frame 1440×1041; sidebar 100; header 100).

Padrão de embed — herda a grade do Workspace

Zona da áreaO que ocupaOrigem do dado
Faixa de KPIs (4× 303×159)Estado da esteira do deal selecionadoHubSpot + APIs
Painel principal (847px)Painel da skill ativa (dossiê / ranking / comparáveis)Skill do DealMatch
Coluna lateral (412px)Log de ações automáticasMake
A confirmar (Fase 2): a área é um iframe único com roteamento interno, ou cada painel é um web component montado na grade? Decide o contrato com o front.

2 Arquitetura — DealMatch é container, não tela

A tool é uma casca que orquestra skills. Cada skill consome dado do CRM, chama uma API, processa e devolve um painel. O ranking de match é a última da fila — só roda quando as anteriores encheram o dossiê.

DealMatch // container — a tool dentro de "Ferramentas"
  ├── skill: triagem    → Vadu · Receita · TECJUS   → painel Dossiê de Elegibilidade
  ├── skill: estrutura  → CVM SRE · TECJUS · Utila  → painel Dossiê Estruturado
  ├── skill: mercado    → ANBIMA · Economatica     → painel Apetite & Capacidade
  └── skill: match      → score_match.py (v1.6)    → painel Ranking T1/T2/T3 + Signal
// dado: HubSpot (SoT) · orquestração: Make · embed: Workspace V2
Correção deste ciclo. A barra de progresso da tabela do Workspace é bookbuilding (subscrição da oferta pública) — tela externa do investidor, sem relação com o DealMatch. O progresso do dossiê da esteira é indicador interno, separado, a desenhar depois.

3 A esteira — skills, APIs e entregas

O deal nasce raso na triagem e ganha camadas a cada API. O dossiê é um objeto que cresce; a coluna "entrega" é o painel que a skill embeda.

Etapa (Pipeline)SkillAPI que rodaEntrega (painel)Status
Triagem
834144642 · Backlog/Signals
ElegibilidadeVadu · Receita · TECJUSIdentidade, restritivos, passivo judicialem uso
Estruturação
796172409 · Modelagem→Legal
EstruturaCVM SRE · TECJUS · UtilaComparáveis, custódia do lastroem uso
Distribuição
789747356 · DealMatch Engine
MercadoANBIMA · EconomaticaApetite & capacidade buy-sideconectado
Match
fim do 789747356
Matchscore_match.py v1.6Ranking T1/T2/T3 + Signalem uso
Pipelines via Atlas (Supabase public.deals). Vadu/Utila/TECJUS em uso; Economatica conectado via MCP; ANBIMA com base local; Receita e CVM SRE candidatos.

O dossiê como objeto que cresce

T
Triagem — dossiê ~30%
Emissor identificado, checado contra restritivos e passivo. Veredito passa/não-passa. Público: mesa.
E
Estruturação — dossiê ~70%
Papel comparado a emissões similares, lastro custodiado, precedentes anexados. Público: IB + emissor.
D
Distribuição — dossiê 100%
Universo buy-side cruzado por apetite e capacidade. Público: buy-side.
M
Match — engrenagem final
Score determinístico roda sobre o dossiê completo. Entrega ranking e Signal.

4 Como o painel é gerado e servido

O que roda "automaticamente" é o gatilho de estágio: mudar o deal de estágio no HubSpot dispara a skill correspondente.

#PassoSistema
1Deal muda de estágio (ex.: entra em Backlog de Dados)HubSpot
2Gatilho dispara a skill da etapaMake
3Skill chama a(s) API(s) e processa o retornoVadu / TECJUS / Utila / ANBIMA
4Resultado grava no dossiê e gera o painelSupabase (Atlas)
5Painel embedado na área "Ferramentas"Workspace V2
6Espelho agregado cross-deal para a mesaData Studio / Looker

Dois planos de visualização

Operacional — dentro do Workspace
Painel por deal, embedado. Mesa, emissor ou investidor veem o dossiê e o match daquele deal. Vive em "Ferramentas".
Analítico — Data Studio
Visão agregada: funil dos 3 pipelines, taxa de match, tempo de esteira, performance por API. Fora do Workspace, para gestão.
Princípio de custo. Nada de stack novo: HubSpot (SoT), Make (orquestra), Supabase (Atlas), Data Studio (gratuito no Google). O DealMatch conecta o que já existe.

Decisões abertas — Fase 2

1. Contrato de embed: iframe único com roteamento vs. web components independentes.
2. Tokens de cor: o metadata do Figma não expõe hex — confirmar navy/verde/coral reais (limite de MCP atingido nesta sessão).
3. Gatilho: automático por mudança de estágio vs. botão "enriquecer" manual.
4. Persistência do dossiê: objeto próprio no Supabase vs. propriedade dealmatch_observations no HubSpot.