Cerebro Studio · Backlog · Changelog
Cerebro • /root/cerebro/docs/BACKLOG.md
Abrir Studio Selecione um BK para aprovar, delegar curadoria ou encaminhar.

Backlog Unificado

Projeto: Cerebro. Fonte principal: /root/cerebro/docs/BACKLOG.md.

Especificações Disponíveis (fora da fila pendente)

Detalhe do BK Selecionado

/root/cerebro/docs/backlog/BK-195-gemini-fanout-timeout-orchestrator.md • 2026-04-29T03:53:36.532Z

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 gemini deve 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.js e tools/gemini-api ficam 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-flash bateu quota na credencial atual;
  • gemini-1.5-* nao estava disponivel para generateContent nesse endpoint;
  • gemini-2.5-flash respondeu corretamente em smoke real.
  • tools/cli_orchestrator.sh passou a aceitar GEMINI_BIN, mantendo gemini como default e permitindo override por /root/cerebro/tools/gemini-api.
  • tools/agent_conversation.py passou a respeitar GEMINI_BIN no dispatch do agent gemini.
  • O extrator de resposta do Gemini no cli_orchestrator.sh foi compatibilizado para aceitar tanto o JSON legado do Gemini CLI quanto texto puro do wrapper.
  • docs/ORQUESTRACAO_MULTI_CLI.md foi atualizado para refletir a trilha GEMINI_BIN=/root/cerebro/tools/gemini-api.

3. Validacao real

  • node --check tools/gemini_api_cli.js
  • bash -n tools/gemini-api
  • bash -n tools/cli_orchestrator.sh
  • python3 -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.py concluiu com STATUS=completed e LAST_OUTPUT=GEMINI_API_AGENT_OK[DONE];
  • o orquestrador concluiu com exit_code=0, preflight.tsv em ok e gemini.out contendo GEMINI_API_AGENT_OK.

4. Guardrails

  • nao alterar a politica do OpenCode/Kimi neste BK;
  • nao trocar o comportamento padrao do target gemini quando GEMINI_BIN nao 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