Cerebro Studio · Backlog · Changelog
Cerebro • /root/cerebro/docs/changelog/2026/CL-2026-05-02-BK-38-heartbeat-readonly.md • 2026-05-02T12:38:53.158Z

CL-2026-05-02 - BK-38 Heartbeat Read-Only

Status: V

Escopo: plataforma

Projetos afetados: cerebro-kernel, cerebro-studio

Aprovacao humana obrigatoria: nao

Revisor IA: OpenCode; Gemini acionado, mas terminou por timeout sem saida util

Resumo

O Cerebro Studio deixou de mostrar apenas presenca estatica dos agentes e passou a consumir um snapshot read-only de saude operacional. O novo heartbeat agrega sistema, PM2, worker health, locks, sessoes CLI e pipeline de propostas, mantendo a Fase 1 segura: visibilidade sem automacao corretiva.

Mudancas

  • Criado kernel/heartbeat_readonly.js.
  • Criado kernel/scripts/heartbeat_readonly.js.
  • Adicionados scripts health:heartbeat e health:heartbeat:write.
  • studio/server.js passou a expor GET /api/heartbeat.
  • /api/ops-snapshot passou a incluir heartbeat com cache de 15s.
  • A home do Studio atualiza os cards dos agentes com status calculado, modelo, tempo e detalhe.
  • A lista de propostas mostra contagem por estado e metadados de execucao.
  • Criado teste unitario kernel/tests/unit/heartbeat-readonly.test.js.

Validacao

  • node --check kernel/heartbeat_readonly.js
  • node --check kernel/scripts/heartbeat_readonly.js
  • node --check studio/server.js
  • npm --prefix kernel run health:heartbeat --silent
  • npm --prefix kernel test -- --runInBand tests/unit/heartbeat-readonly.test.js retornou 26 suites e 179 testes verdes por causa do matcher atual do projeto.
  • Studio temporario em PORT=9918 validou /api/heartbeat, /api/ops-snapshot, JS inline extraido e renderizacao headless sem pageerror.

Observacoes

  • O endpoint e read-only e segue a exposicao operacional ja existente do Studio.
  • A limpeza de locks e sessoes stale detectadas pelo heartbeat nao foi executada nesta rodada.
  • O fluxo done/failed de propostas depende de uma proxima evolucao do autorun registrar conclusao do processo; esta entrega ja exibe esses estados quando existirem.