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-195 - Gemini no Cerebro com fan-out curto e wrapper legado
Criado em: 2026-04-09
Escopo: plataforma
Projetos afetados: cerebro-kernel
Responsável: codex
Prioridade: alta
Status: done
1. Objetivo
Implementar uma mitigacao operacional real para o Gemini no Cerebro:
- timeout curto para detectar tentativa
stalled; - fan-out entre modelos Gemini por tipo de tarefa;
- primeira resposta util vencendo a corrida;
- fallback serial posterior para complementar cobertura sem bloquear a rodada inteira;
- rota alternativa historica supersedida em 2026-04-29; o worker
geminideve usar CLI autenticado.
Esta frente fecha a mitigacao pratica dentro do cerebro, sem depender de resolver toda a causa raiz do provider/CLI na mesma rodada.
2. Implementacao entregue
tools/gemini_api_cli.jsetools/gemini-apificam mantidos como entrypoints legados, mas agora chamam o Gemini CLI.- A trilha de chamada direta por credencial foi desativada em 2026-04-29.
- O default operacional da trilha direta foi alinhado a
gemini-2.5-flash, porque: gemini-2.0-flashbateu quota na credencial atual;gemini-1.5-*nao estava disponivel paragenerateContentnesse endpoint;gemini-2.5-flashrespondeu corretamente em smoke real.tools/cli_orchestrator.shpassou a aceitarGEMINI_BIN, mantendogeminicomo default e permitindo override por/root/cerebro/tools/gemini-api.tools/agent_conversation.pypassou a respeitarGEMINI_BINno dispatch do agentgemini.- O extrator de resposta do Gemini no
cli_orchestrator.shfoi compatibilizado para aceitar tanto o JSON legado do Gemini CLI quanto texto puro do wrapper. docs/ORQUESTRACAO_MULTI_CLI.mdfoi atualizado para refletir a trilhaGEMINI_BIN=/root/cerebro/tools/gemini-api.
3. Validacao real
node --check tools/gemini_api_cli.jsbash -n tools/gemini-apibash -n tools/cli_orchestrator.shpython3 -m py_compile tools/agent_conversation.py- smoke direto da API:
printf "Responda somente OK" | tools/gemini-api --timeout 30- smoke real do agent:
GEMINI_BIN=/root/cerebro/tools/gemini-api python3 tools/agent_conversation.py run --agents gemini --max-turns 1 --timeout 30 --gemini-model gemini-2.5-flash --topic "Responda exatamente: GEMINI_API_AGENT_OK"- dry-run real do orquestrador:
GEMINI_BIN=/root/cerebro/tools/gemini-api tools/cli_orchestrator.sh --task 'Responda exatamente: AGENT_OK' --targets gemini --mode dry-run ...- run real do orquestrador:
GEMINI_BIN=/root/cerebro/tools/gemini-api tools/cli_orchestrator.sh --task 'Responda exatamente: GEMINI_API_AGENT_OK' --targets gemini --mode run ...
Artefatos reais:
/tmp/cerebro-gemini-api-run/20260409T204931Z-gemini-api-live-test//tmp/agent_conversation_gemini_api_live_runs/20260409T204735Z-conv-conversation/
Evidencia objetiva da rodada:
agent_conversation.pyconcluiu comSTATUS=completedeLAST_OUTPUT=GEMINI_API_AGENT_OK[DONE];- o orquestrador concluiu com
exit_code=0,preflight.tsvemokegemini.outcontendoGEMINI_API_AGENT_OK.
4. Guardrails
- nao alterar a politica do OpenCode/Kimi neste BK;
- nao trocar o comportamento padrao do target
geminiquandoGEMINI_BINnao estiver definido; - nao tratar bootstrap sem texto util como resposta valida;
- nao deixar o parser legado do Gemini CLI quebrar a trilha nova de texto puro.
5. Path List (lock-files)
```
/root/cerebro/docs/LOCK.md
/root/cerebro/docs/BACKLOG.md
/root/cerebro/docs/CHANGELOG.md
/root/cerebro/docs/ORQUESTRACAO_MULTI_CLI.md
/root/cerebro/docs/backlog/BK-195-gemini-fanout-timeout-orchestrator.md
/root/cerebro/docs/changelog/2026/CL-2026-04-09-BK-195.md
/root/cerebro/tools/agent_conversation.py
/root/cerebro/tools/cli_orchestrator.sh
/root/cerebro/tools/gemini-api
/root/cerebro/tools/gemini_api_cli.js
```
6. Referencias
/root/cerebro/tools/cli_orchestrator.sh/root/cerebro/tools/agent_conversation.py/root/cerebro/tools/gemini-api/root/cerebro/tools/gemini_api_cli.js/root/cerebro/docs/ORQUESTRACAO_MULTI_CLI.md/root/cerebro/docs/LOCK.md/root/docs/VPS_MODELOS/VPS_GEMINI.md/root/docs/root-layer/VPS_BACKLOG_GLOBAL.md