Cerebro Studio · Backlog · Changelog
Cerebro • /root/cerebro/docs/changelog/2026/CL-2026-04-09-BK-152.md • 2026-04-09T23:23:18.798Z

CL-2026-04-09-BK-152 · BK-152 Contrato Único: Prova de Rascunho, Screenshot, Checklist e Estados

Data: 2026-04-09

BK: BK-152

Responsável: codex

Escopo: docs (documental)

Projetos afetados: cerebro-studio, cerebro-kernel, rionoteatro

Aprovação humana obrigatória: não


1. Resumo da Entrega

Este BK foi fechado por entrega documental — o contrato canônico de prova de rascunho foi formalizado em documento de arquitetura, sem modificação de código. O objetivo era padronizar o conceito de draft_url, post_url, screenshot/prova, checklist manual e estados entre Studio, WhatsApp, fila e browser/manual step.

Resultado: Documento técnico docs/architecture/CONTRATO-PROVA-RASCUNHO.md publicado, com:

  • Schema canônico mínimo (14 campos)
  • Estados válidos e transições documentados
  • Checklist mínimo de prova válida
  • Mapeamento por superfície (RNT fila/cron, WhatsApp, browser/manual step, Studio)
  • 6 lacunas identificadas como follow-ups futuros

2. Artefatos Criados/Atualizados

| Artefato | Tipo | Descrição |

|----------|------|------------|

| docs/architecture/CONTRATO-PROVA-RASCUNHO.md | Novo | Contrato canônico de prova de rascunho (artefato principal) |

| docs/backlog/BK-152-contrato-unico-prova-rascunho-publish.md | Atualizado | Backlog vivo com status CONCLUÍDO, auditoria de alinhamento, 6 follow-ups |

| docs/changelog/2026/CL-2026-04-09-BK-152.md | Novo | Changelog detalhado desta entrega |

| docs/BACKLOG.md | Atualizado | BK-152 marcado como CONCLUÍDO DOCUMENTALMENTE em 2026-04-09 |

| docs/CHANGELOG.md | Atualizado | Índice curado com entrada do BK-152 |

| docs/LOCK.md | Atualizado | Locks registrados e encerrados |


3. Decisões de Arquitetura (Chave)

3.1 Contrato Canônico Publicado

O schema browser_draft_proof do RNT foi elevado a contrato unico canonico:

```php

$event['browser_draft_proof'] = [

'draft_url' => $draftUrl, // URL do rascunho no Facebook

'screenshot_path' => $screenshotPath, // Captura visual

'artifact_dir' => $artifactDir, // Diretório de artefatos

'run_id' => $runId, // ID da execução browser

'storage_state_path' => $storageStatePath, // Estado de sessão

'output_root' => $outputRoot, // Diretório de saída

'command' => $command, // Comando executado

'runner_ok' => $runnerOk, // Status do runner

'runner_exit_code' => $runnerExitCode, // Código de saída

'notification_sent_at' => $notificationSentAt, // Quando notificado

'notification_result' => $notificationResult // Resultado da notificação

];

```

3.2 Estados Válidos Definidos

| Estado | Descrição |

|--------|-----------|

| draft | Rascunho gerado, aguardando revisão |

| pending_approval | Aprovação pendente via WhatsApp |

| approved | Aprovado para publicação |

| published | Post executado com sucesso |

| failed | Falha na publicação (com retry/fallback) |

3.3 Auditoria de Alinhamento Concluída

Auditoria realizada em 2026-04-09:

  • Schema do browser_draft_proof fortemente alinhado com implementação real
  • Ponto de atenção: approval_stage não é populado no payload canônico atual — tratado como lacuna de compatibilidade/follow-up, não como bloqueio crítico
  • Estados mais granulares no RNT mapeados para estados canônicos mínimos
  • Sem divergência crítica que impeça o fluxo operacional

4. Superfícies Mapeadas

4.1 RNT — Fila e Cron

| Superfície | Arquivo | Status |

|------------|---------|--------|

| Geração de prova | admin/cron/sync_facebook_events.php | ✅ Opera |

| UI de aprovação | admin/modulos/campanhas/redes_sociais_ui_helper.php | ✅ Opera |

| Handler de ações | action_squad.php | ✅ Opera |

| Fluxo WhatsApp + fallback browser | — | ✅ Opera |

4.2 Cerebro — Studio

| Superfície | Arquivo | Status |

|------------|---------|--------|

| Superfícies de aprovação | studio/server.js | ✅ Opera |

| Backlog de posts pendentes | — | ✅ Opera |

| Visualização de screenshots | — | ✅ Opera |

4.3 Cerebro — Kernel/Browser

| Superfície | Arquivo | Status |

|------------|---------|--------|

| Runtime browser | kernel/browser_control.js | ✅ Opera |

| Executor de comandos | kernel/browser_executor.js | ✅ Opera |

| Armazenamento de artefatos | — | ✅ Opera |


5. Follow-ups Identificados (Lacunas do Contrato)

As 6 lacunas identificadas na Seção 8 do contrato são de natureza evolutiva e não bloqueiam o contrato canônico publicado:

| # | Lacuna | Descrição | Tipo |

|---|--------|-----------|------|

| 1 | Validação centralizada do schema | Não há enforce do schema em camada única | evolutiva |

| 2 | API de consulta no Studio | Studio não expõe API documentada | evolutiva |

| 3 | Histórico/audit trail | Não há persistência de transições de status | evolutiva |

| 4 | Contrato formal WhatsApp | Input/format da mensagem não formalizado | evolutiva |

| 5 | Condição explícita browser fallback | Condição de acionamento não documentada | evolutiva |

| 6 | Harmonização do approval_stage | Campo opcional não populado — harmonização futura | compatibilidade |

Recomendação: Estas lacunas serão tratadas em BKs futuros. O BK-152 alcançou seu objetivo de formalização documental com segurança.


6. Critérios de Aceite Cumpridos

6.1 Documentação do Contrato

  • [x] Documento de arquitetura publicando browser_draft_proof como schema canônico
  • [x] Definição dos 4 estados válidos com transições documentadas
  • [x] Mapeamento de cada módulo ao contrato
  • [x] Descrição do fluxo de aprovação + fallback browser
  • [x] Checklist de itens obrigatórios em uma prova

6.2 Revisão de Alinhamento

  • [x] Código existente (RNT + Cerebro) corresponde ao contrato documentado
  • [x] Não há divergências críticas entre schema documentado e implementação
  • [x] Fluxo de aprovação descrito corresponde ao comportamento real
  • [x] Auditoria de alinhamento concluída e documentada

7. Validações Executadas

  • [x] Artefato docs/architecture/CONTRATO-PROVA-RASCUNHO.md existe e é válido
  • [x] Links internos referenciados existem
  • [x] Schema do browser_draft_proof validado contra código real do RNT
  • [x] Locks registrados em docs/LOCK.md
  • [x] Backlog vivo atualizado com status CONCLUÍDO DOCUMENTALMENTE
  • [x] Índice curado do CHANGELOG.md atualizado

8. Referências

  • docs/backlog/BK-152-contrato-unico-prova-rascunho-publish.md
  • docs/architecture/CONTRATO-PROVA-RASCUNHO.md
  • docs/BACKLOG.md
  • docs/LOCK.md
  • docs/CHANGELOG.md
  • rionoteatro:admin/cron/sync_facebook_events.php
  • rionoteatro:admin/modulos/campanhas/redes_sociais_ui_helper.php
  • rionoteatro:admin/modulos/campanhas/action_squad.php
  • kernel/browser_control.js
  • kernel/browser_executor.js
  • studio/server.js