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
/root/cerebro/docs/specs/BK-38-heartbeat-readonly.md • 2026-05-02T12:38:38.810Z
BK-38 - Heartbeat Read-Only e Mission Control Real
Status: concluido em 2026-05-02
Escopo
Implementar a Fase 1 segura do heartbeat do Cerebro: visibilidade operacional sem automacao corretiva, sem execucao R2+ automatica e sem mudanca de estado em propostas.
Entrega
kernel/heartbeat_readonly.jsagrega snapshot read-only de sistema, PM2,worker_health_registry, locks, sessoes CLI e propostas.kernel/scripts/heartbeat_readonly.jsadiciona CLI para gerar o snapshot em JSON e, opcionalmente, gravar relatorio JSON proprio.kernel/package.jsonadicionahealth:heartbeatehealth:heartbeat:write.studio/server.jsexpoeGET /api/heartbeate incluiheartbeatemGET /api/ops-snapshotcom cache de 15s.- Home do Studio passa a renderizar agentes com status calculado, modelo, tempo e detalhe operacional.
- Aba Backlog passa a resumir a esteira
pending_approval -> approved -> executing/running -> done/failed/rejectede exibir metadados de execucao quando existirem.
Guardrails
- O heartbeat nao aprova, rejeita, executa, pausa ou conclui propostas.
- O heartbeat nao reinicia PM2, nao mexe em locks e nao limpa sessoes CLI.
- Os comandos externos usados sao somente leituras:
pm2 jlistedf -Pk /. - Alertas sao informativos no JSON; nenhuma acao corretiva automatica foi adicionada.
Evidencias
node --check kernel/heartbeat_readonly.jsnode --check kernel/scripts/heartbeat_readonly.jsnode --check studio/server.jsnpm --prefix kernel run health:heartbeat --silentretornouok=true,system=true,agents=6,pm2=4.- Suite Jest acionada na rodada passou com
26 suites,179 testes. - Studio temporario em
PORT=9918respondeu/api/heartbeatcommode=read_only,agents=6,pm2=4. - Studio temporario respondeu
/api/ops-snapshotcomheartbeat=true. - Script inline extraido do HTML temporario passou em
node --check /tmp/cerebro-studio-bk38-inline.js. - Playwright headless no Studio temporario carregou sem
pageerrore renderizou os 6 agentes calculados.
Revisao externa
- OpenCode revisou o patch em modo read-only e aprovou os pontos de read-only, JS inline, endpoint, estados de propostas e status real de agentes.
- OpenCode recomendou cache curto para evitar
pm2 jlistem todo refresh; aplicado cache de 15s no consumo do Studio. - Gemini foi acionado para segunda revisao, mas a chamada terminou por timeout sem saida util; excecao registrada nesta entrega.
Achados atuais do heartbeat
- Existe lock global stale para
/root/cerebro/studio/server.jsem/root/.cerebro-locks, com PID morto. - Existem sessoes CLI antigas/stale em
.runtime/cli-sessions. gemini/gemini-3-flash-previewaparece comodegradednoworker_health_registryhistorico.
Esses achados foram apenas expostos; limpeza de locks/sessoes stale fica fora do escopo deste BK.