Backlog Unificado
Projeto: Cerebro. Fonte principal: /root/cerebro/docs/BACKLOG.md.
- BK-36 · MCP Bridge: Integração com o Model Context Protocol com catálogo de permissões por ferramenta. (detalhe pendente)
- BK-38 · Gate B — Núcleo útil da inspiração: executar BK-38 em fase segura (heartbeat 30 min read-only + alerta + sugestão; sem execução automática R2+).
- BK-40 · Builder Engine (Specs): Implementar orquestração baseada em arquivos de especificação (TDD/PRD automáticos). (detalhe pendente)
- BK-41 · Evals e Benchmark: Sistema para medir a qualidade das respostas e evitar regressões de inteligência. (detalhe pendente)
- BK-42 · Gate C — Pipeline oficial do Cerebro: concluir BK-42 + BK-55 (peer review gate) + BK-41 (evals). (detalhe pendente)
- BK-48 · Auto-Tuning: Agente que analisa logs de performance e sugere melhorias na configuração do Kernel. (detalhe pendente)
- BK-50 · Versionamento de Memória: Snapshotting do MEMORY.md para evitar corrupção de contexto a longo prazo. (detalhe pendente)
- BK-52 · WhatsApp SaaS (Extração do RNT): Transformar o microserviço/fluxo de WhatsApp do Rio no Teatro (helper PHP + fila + healthcheck + restart + telemetria) em componente reutilizável/multitenant para outros projetos da VPS e futura integração no Cerebro (canal alternativo ao Discord para alertas/testes). Inspirado em Mission Control HQ. (detalhe pendente)
- BK-55 · Peer Review Gate entre Agents: Adicionar etapa obrigatória de revisão cruzada antes de Done, com evidência em log/DB e bloqueio em caso de conflito crítico. (detalhe pendente)
- BK-61 · Terminal Multi-Sessão (Fase 1 e 2): Implementar gerenciador de sessões paralelas por engine. (detalhe pendente)
- BK-62 · [PASSO-01 | Usuário/Admin] Fechar BK-62 (P0 de segurança): revogar tokens legados no Discord Developer Portal, atualizar CEREBRO_DISCORD_TOKEN na VPS e validar bot/kernel após restart. (detalhe pendente)
- BK-66 · Flag explícita planejar vs executar: (detalhe pendente)
- BK-128 · Copywriter multi-formato + Revisor comercial RNT (FOLLOW-UP RECONCILIADO em 2026-03-18): O RNT ja possui base parcial entregue no historico local BK-122, com copy contextual para story/reels, selecao manual e fallback operacional. O que ainda falta neste backlog central e expandir para feed/carrossel, scorecard comercial consistente e integracao completa com o fluxo WhatsApp -> agenda -> conferencia de rascunho. Detalhe: docs/specs/BK-128-rnt-copy-multiformato-review.md.
- BK-133 · Planejamento Antecipado (Greedy Planner): Ajustar o robô para gerar conteúdos de fim de temporada (Last Week/Last Session) no momento do cadastro da peça, permitindo aprovação e agendamento prévio. (detalhe pendente)
- BK-134 · Messenger Channel Integration: Automatizar postagem no canal do Messenger (rionoteatro) após inclusão de nova peça, com fluxo de aprovação via WhatsApp. (detalhe pendente)
- BK-135 · FB Events Auto-Creation: Integrar a criação de eventos do Facebook ao fluxo de "Peça Nova", parando no rascunho para conferência humana. (detalhe pendente)
- BK-136 · Meta Weekly Challenges Bot: Criar rotina para monitorar e sugerir postagens criativas (Reels/Posts) para cumprir os desafios de nível da Meta. (detalhe pendente)
- BK-153 · Refatoracao fase 1 de sync_facebook_events.php: Separar planner, dispatcher, montagem de aprovacao e fallback browser em modulos/testes controlados, sem reescrever tudo de uma vez. (detalhe pendente)
- BK-154 · Harmonizacao backlog central x backlog RNT x roadmap Squad: Consolidar a semantica indice central -> backlog local de execucao -> roadmap estrategico, sem texto divergente entre os tres. (detalhe pendente)
- BK-155 · Piloto de migracao de cron social para Node: Escolher um cron social menor para piloto controlado e validar contrato/rollback antes de considerar a frente grande de migracao do legado social. (detalhe pendente)
Especificações Disponíveis (fora da fila pendente)
- BK-45
- BK-47
- BK-56
- BK-57
- BK-58
- BK-64
- BK-69
- BK-124
- BK-125
- BK-126
- BK-127
- BK-129
- BK-142
- BK-143
- BK-144
- BK-145
- BK-146
- BK-152
- BK-156
- BK-157
- BK-158
- BK-170
- BK-190
- BK-191
- BK-192
- BK-193
- BK-194
- BK-195
- BK-198
- BK-199
- BK-200
Detalhe do BK Selecionado
BK-152 — Contrato Unico: Prova de Rascunho, Screenshot, Checklist e Estados
Status
FASE 1 CONCLUÍDA — Contrato canônico publicado em docs/architecture/CONTRATO-PROVA-RASCUNHO.md
RECONCILIAÇÃO DOCUMENTAL CONCLUÍDA — Alinhamento com auditoria do RNT validado
FECHAMENTO DOCUMENTAL CONCLUÍDO — Seção 5.3 preenchida com follow-ups mapeados
1. Problema
O BK-152 tem como objetivo padronizar o conceito de draft_url, post_url, screenshot/prova, checklist manual e estados entre Studio, WhatsApp, fila e browser/manual step. O problema central e que nao existe contrato unico canonico que defina formalmente:
- O que constitui uma "prova de rascunho" valida
- Quais campos obrigatorios compoem o estado de um post em rascunho
- Como a prova é armazenada, referenciada e transmitida entre Studio, WhatsApp e fila
- Quais os estados validos (draft, pending_approval, approved, published, failed)
- Quando o fallback browser é acionado e como ele se integra ao fluxo de aprovacao
Ha implementacoes parciais dispersas entre RNT e Cerebro, mas faltam definicoes canonicas que garantam consistência.
2. Estado Atual Confirmado
2.1 RNT — admin/cron/sync_facebook_events.php
Ja expoe browser_draft_proof com a seguinte estrutura:
```php
$event['browser_draft_proof'] = [
'draft_url' => $draftUrl,
'screenshot_path' => $screenshotPath,
'artifact_dir' => $artifactDir,
'run_id' => $runId,
'storage_state_path' => $storageStatePath,
'output_root' => $outputRoot,
'command' => $command,
'runner_ok' => $runnerOk,
'runner_exit_code' => $runnerExitCode,
'notification_sent_at' => $notificationSentAt,
'notification_result' => $notificationResult
];
```
Confirmado: O RNT ja gera e armazena a prova do rascunho, incluindo screenshot, URL e metadados de execucao.
2.2 RNT — Fluxo de Aprovacao com Fila
Ha implementacao de fila/aprovacao com:
pending_approval— flag indicando que o post aguarda aprovacaoapproval_stage=pre_whatsapp— estagio onde o WhatsApp e acionado antes da publicacao- WhatsApp de aprovacao: mensagem enviada ao responsavel com a prova do rascunho
- Fallback browser: em caso de falha no WhatsApp, o sistema faz fallback para browser via:
admin/modulos/campanhas/redes_sociais_ui_helper.phpaction_squad.php
Confirmado: O RNT ja implementa fluxo de aprovacao com notificação WhatsApp e fallback browser.
2.3 Cerebro — Studio
O Studio ja tem:
- Superficies de aprovacao (dashboards com botoes de aprovar/rejeitar)
- Backlog de posts pendentes
- Visualizacao de screenshots e URLs de rascunho
Confirmado: O Studio expoe UI para visualizacao e aprovacao.
2.4 Cerebro — Kernel/Browser Runtime
O kernel/browser runtime ja produz:
- Artefatos browser (screenshots, states, logs)
- Armazenamento em disco (
artifact_dir,screenshot_path) - Execucao de comandos via browser profile
Confirmado: O Cerebro gera artefatos browser que podem servir como prova.
3. Lacunas que Impedem Chamar Isso de Contrato Unico
3.1 Ausencia de Schema Canonico
- Nao ha definicao formal de quais campos sao obrigatorios para uma prova de rascunho valida
- O schema em
sync_facebook_events.phpexiste, mas nao esta documentado como "contrato" - Nao existe validacao centralizada que enforce o schema
3.2 Inconsistencia de Terminologia
draft_urlvspost_url— quais campos realmente diferem?browser_draft_proofvsproofvsprova— nomenclatura varia entre modulospending_approvalvsapproval_stage— relacao entre campos nao explicita
3.3 Falta de Estado Centralizado
- Cada modulo (Studio, WhatsApp, fila, browser) mantem proprio estado
- Nao ha fonte unica de verdade para o status de um post
- Sincronizacao entre modulos depende de implementacoes ad-hoc
3.4 Ausencia de Contrato de Interface
- WhatsApp nao tem contrato formal de como recebe a prova
- Browser fallback nao tem spec de quando e como e acionado
- Studio nao expõe API documentada para consulta de estado
3.5 Checklist Manual Nao Formalizado
- Nao ha checklist canonico de itens a verificar na prova do rascunho
- O que constitui "prova suficiente" varia por contexto
- Nao ha validacao automatica do checklist
4. Tese do Menor Corte para Fechar BK-152 com Seguranca
Tese: Criar um documento de arquitetura/contrato que formalize o schema existente do RNT (browser_draft_proof) como o contrato unico canonico de prova de rascunho, e definir os estados e fluxos restantes como extensoes desse contrato, sem modificar codigo na primeira fase.
Menor corte proposto:
- Formalizar o schema existente como "contrato unico" em documentacao
- Definir os 4 estados validos:
draft,pending_approval,approved,published/failed - Mapear cada modulo (Studio, WhatsApp, fila, browser) ao contrato
- Documentar o fluxo de aprovacao + fallback browser
- Definir checklist basico de itens que compoem uma prova valida
- Nao alterar codigo nesta fase — apenas documentar o que ja existe e funciona
Por que menor corte: O codigo ja funciona (RNT gera provas, Studio aprova, WhatsApp notifica, fallback existe). O que falta e a formalizacao conceitual que permita chamar isso de "contrato unico" com seguranca.
5. Criterios de Aceite Mensuraveis
5.1 Documentacao do Contrato
- [x] Documento de arquitetura publicando
browser_draft_proofcomo schema canonico - [x] Definicao dos 4 estados validos com transicoes documentadas
- [x] Mapeamento de cada modulo ao contrato
- [x] Descricao do fluxo de aprovacao + fallback browser
- [x] Checklist de itens obrigatorios em uma prova
5.2 Revisao de Alinhamento
- [x] Codigo existente (RNT + Cerebro) corresponde ao contrato documentado
- [x] Nao ha divergencias criticas entre schema documentado e implementacao
- [x] Fluxo de aprovacao descrito corresponde ao comportamento real
Auditoria de alinhamento (2026-04-09):
- Schema do
browser_draft_prooffortemente alinhado com implementação real - Ponto de atenção:
approval_stagenã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 (
queued,scheduled,pending_approval,notified,posted,posted_manual,failed,error,canceled) mapeados para estados canônicos mínimos no contrato - Sem divergência crítica que impeça o fluxo operacional
5.3 Proxima Fase Identificada
As lacunas já mapeadas no contrato canônico (Seção 8 de docs/architecture/CONTRATO-PROVA-RASCUNHO.md) são:
| # | Lacuna | Descrição |
|---|---|---|
| 1 | Validação centralizada do schema | Não há enforce do schema em camada única. Validação distribuída entre módulos. |
| 2 | API de consulta no Studio | Studio não expõe API documentada para consumo do contrato por sistemas externos. |
| 3 | Histórico/audit trail de transições | Não há persistência de audit trail (quando mudou de status, quem aprovou, etc.). |
| 4 | Contrato formal da notificação WhatsApp | Input/format da mensagem não está formalizado em spec. |
| 5 | Condição explícita do browser fallback | Condição exata de acionamento do fallback não está documentada em contrato. |
| 6 | Harmonização do approval_stage | Campo opcional no schema atual mas não populado no payload canônico — harmonização futura. |
Recomendação: As lacunas acima são de natureza evolutiva e não bloqueiam o contrato canônico publicado na Fase 1. O BK-152 alcançou seu objetivo de formalização documental com segurança.
STATUS DO BK-152: ✅ CONCLUÍDO DOCUMENTALMENTE — Fase 1 finalizada.
6. Path List Inicial
```text
docs/backlog/BK-152-contrato-unico-prova-rascunho-publish.md # Este arquivo
docs/architecture/CONTRATO-PROVA-RASCUNHO.md # Contrato canônico (CRIADO - artefato principal da fase 1)
```
6.1 Artefato Principal da Fase 1
O contrato canônico foi publicado em:
- Caminho:
docs/architecture/CONTRATO-PROVA-RASCUNHO.md - Status: Criado e disponível
O contrato inclui:
- Schema canônico mínimo (14 campos)
- Estados válidos e transições
- Checklist mínimo de prova válida
- Mapeamento por superfície (RNT fila/cron, WhatsApp, browser/manual step, Studio)
- Regras práticas para tolerância de ausência de draft_url
- Lacunas identificadas para follow-up
7. Referencias Concretas aos Arquivos Reais
RNT
admin/cron/sync_facebook_events.php
- Contem:
browser_draft_proofschema com todos os campos citados - Referencia:
$event['browser_draft_proof'] = [...] - Status: Ja implementa geracao e armazenamento de prova
admin/modulos/campanhas/redes_sociais_ui_helper.php
- Contem: Superficie de UI para visualizacao e aprovacao
- Referencia: fluxo de aprovacao com WhatsApp e fallback
action_squad.php
- Contem: Handler de acoes da fila social, incluindo fallback browser
- Referencia: notificação e execucao de fallback
Cerebro
kernel/browser_control.js
- Contem: Runtime browser que gera artefatos (screenshots, states)
- Referencia: execucao de comandos e armazenamento de outputs
kernel/browser_executor.js
- Contem: Executor de comandos browser com tratamento de timeout e extract_url
- Referencia: execucao que produz a prova
studio/
- Contem: Superficies de aprovacao, backlog e visualizacao de screenshots
- Referencia: UI que consome as provas geradas pelo kernel
Historico
| data | evento |
|---|---|
| 2026-04-09 20:30 -03 | Backlog vivo criado a partir do estado real de RNT + Cerebro |