analise-officers

Plano de execução — gerado pelo planejador (Claude Opus 5.5, subagente somente leitura)

Artefato gerado. Nesta versão pública, só as referências de contexto foram generalizadas (nome e caminhos do cenário, repositório-base, texto de publicação); o conteúdo técnico do plano é o original.

Evidência equivalente ao “Plan Mode”: este é o plano integral que o orquestrador recebeu do subagente Opus antes de qualquer código, salvo sem edição de conteúdo técnico (ver a nota acima). Os executores (Haiku/Sonnet) receberam as seções correspondentes como especificação.


Objetivo

Executar os blocos 0 a 6 do Lead Scorer em modo autônomo, sem nada mudar fora da pasta do projeto, com um commit por bloco feito pelo orquestrador. O resultado esperado:

Desenho técnico, validado num protótipo que rodei só para leitura via python -c (nenhum arquivo criado):

Etapas

Bloco comum (o orquestrador cola este texto no topo de TODA etapa)

PREÂMBULO POWERSHELL (cole no início de cada chamada; variáveis não persistem entre chamadas):
$PM="C:\Users\Info Mania\Documents\Predictive Analytics for CRM Sales Performance"; $PY="$PM\.venv\Scripts\python.exe"; $SUB="$PM\lead-scorer"; $SOL="$SUB\solution"
Comandos do projeto: Set-Location $SOL; & $PY -m <módulo>. PowerShell 5.1: sem &&; use ; e if ($?) {...}. Caminhos têm espaços: sempre entre aspas.

E1 — Bloco 0: setup, dados e reprodução da fase 0


E2 — Bloco 1: escopo (SCOPE.md) e as 4 perguntas


E3 — Bloco 2: curadoria, investigações 2a/2b/2c e infraestrutura de números


E4 — Bloco 3a: checagem de vazamento, features, score e explicação


E5 — Bloco 3b: validação, backtest, SCORING.md e ajuste pré-registrado


E6 — Bloco 4a: build, data.js, interface e briefs


E7 — Bloco 4b: verificação Playwright, screenshots e 3 atritos reais


E8 — Bloco 5: MODEL_CARD, README e verificação de números


E9 — Bloco 6: revisão independente nº 1 (feita pelo ORQUESTRADOR)

E10 — Bloco 6: correções dos critérios com nota ≤ 3

E11 — Bloco 6: revisão independente nº 2 (feita pelo ORQUESTRADOR)

E12 — Bloco 6: fechamento, definição de pronto e texto de publicação

Riscos / pontos de atenção

  1. A recência é um baseline muito forte em AUC nos cortes de fim de trimestre (0,73 e 0,83 no protótipo). O gerador encerra deals no fim do trimestre seguinte ao engajamento. Isso já está pré-registrado: a métrica primária é a receita no top 20%, e a AUC é reportada com honestidade. Não deixe executor nenhum “consertar” isso trocando métrica ou modelo depois de ver os números. Mostre também o 31/07, em que a recência despenca (captura de ganhos ≈ 0,12, abaixo do aleatório); é o argumento de robustez do score.
  2. Vazamento via conta ausente: os 1.425 sem conta estão todos abertos no fim. Qualquer feature de conta com nível “desconhecido” vira um detector perfeito de zumbi. O teste de mutação e a auditoria (AUC de has_account) provam que a guarda funciona.
  3. Corte de 30/06 com 1 foto de treino (k=70, aprendido de 1.330 linhas): o modelo é frágil. Reporte isso e mostre a sensibilidade com 28/02. A regra “≥ 31/03” foi decidida depois de o planejador ver o protótipo. Isso precisa constar no log; já está no texto da E3 e da E4.
  4. Artefatos do gerador (regra Q/Q+1, teto de 138 dias, ciclos de 7 dias no 1º mês do trimestre, fins de trimestre com cerca de 80% de vitória). Documente-os e não os explore. Consequência honesta: a lista Reative tem taxa de vitória de 0% a 23% nos cortes. Ela fica, mas o SCORING e o MODEL_CARD explicam.
  5. Números do briefing × números do modelo: o briefing tem Foque 110 / Reative 188 com faixas fixas de 90 e 138 dias; o modelo dá 126 / 172, com joelho aprendido em 95. O SCORING precisa explicar a diferença. Os US$ 3,2 mi da lista Limpe coincidem (limite 138).
  6. Pandas 3 e Windows: CoW, dtype str, freq="ME", datetime64[us], JSON com tipos numpy, encoding UTF-8, caminhos com espaço, URI file:// via Path.as_uri(). Os scripts da fase 0 rodam no pandas 3.1 (verificado).
  7. Determinismo: o gitw.py commit adiciona tudo o que está na pasta (exceto caches). Se algum artefato carregar timestamp, todo build vira diff, e a revisão independente (que roda o build) suja o status. Os executores não podem criar arquivos temporários dentro de $SUB; o tmp_path do pytest fica fora.
  8. Revisor do bloco 6: pode tentar criar um venv dentro da pasta, seguindo o README. O prompt manda usar $PY. Depois de cada revisão, rode gitw.py status.
  9. Tamanho do data.js: cerca de 6.200 deals com explicações dão de 2 a 4 MB. Se passar de 4 MB, use chaves curtas ou explicações só no snapshot ativo. Não troque por fetch.
  10. Escopo e tempo: no bloco 4, nada de polimento visual além dos 3 atritos. Se faltar tempo, siga o GUIA: cortar primeiro o modo teste, depois os briefs, depois o visual. Nunca cortar validação nem process log.
  11. O orquestrador deve:
    • salvar este plano como process-log/plano_execucao_opus.md antes do commit do bloco 0 (é a evidência do “Plan Mode”);
    • conferir em cada log que o modelo executor está declarado (o README do bloco 5 depende disso);
    • garantir que a E10 não mexeu no modelo.
  12. Vendedores: 5 sem deals (um por time, exceto o de Dustin Brinkmann) e 3 só com fechados (confirmar no bloco 2). Os briefs e o teste de contagem dependem do número real de vendedores com deals abertos (protótipo: 27).
  13. GitHub Pages: o nome de usuário é desconhecido. O README e o PUBLICAR.md usam placeholder marcado, sem inventar URL.

Critical Files for Implementation