CL-2026-04-09-BK-157 · BK-157 Fechamento — Studio + OpenGravity + CLI
Data: 2026-04-09
BK: BK-157
Responsável: codex
Escopo: docs (documental)
Projetos afetados: cerebro-studio, cerebro-kernel, OpenGravity
Aprovação humana obrigatória: não
1. Resumo da Entrega
Este BK foi fechado por artefato técnico documental. O objetivo era criar uma análise de arquitetura que respondesse às perguntas abertas do BK-157:
- Qual é a superfície principal — Studio ou OpenGravity?
- Quais são as fontes de estado para visibilidade de agentes?
- O que já existe no MVP read-only?
- Quais são os próximos passos?
Resultado: Documento técnico de arquitetura (BK-157-STUDIO-OPENGRAVITY-CLI-MVP.md) que explicita:
- O Studio como superfície principal (interface HTTP, WebSocket, histórico, integracao com kernel).
- O OpenGravity como módulo complementar (agente completo via Telegram, não é superfície de visibilidade).
- Fontes de estado mapeadas (
cli_session_presence,LOCK.md,BACKLOG.md,observability.js). - Contrato mínimo de eventos (
orchestration_state) para painel read-only. - MVP read-only já existente no Studio (abas Locks, Backlog, Changelog, Observabilidade, Terminal, Console).
- Próximos passos em follow-ups (OG-01 a OG-05).
2. Artefatos Criados/Atualizados
| Artefato | Tipo | Descrição |
|----------|------|------------|
| docs/architecture/BK-157-STUDIO-OPENGRAVITY-CLI-MVP.md | Novo | Documento técnico de arquitetura com fontes de estado, contrato minimo, MVP read-only e decisões |
| docs/backlog/BK-157-studio-opengravity-orchestration-visibility.md | Atualizado | Backlog vivo atualizado com status CONCLUÍDO, decisão de arquitetura, fontes de estado e follow-ups |
| docs/changelog/2026/CL-2026-04-09-BK-157.md | Novo | Changelog detalhado desta entrega |
| docs/BACKLOG.md | Atualizado | BK-157 marcado como CONCLUÍDO em 2026-04-09 |
| docs/CHANGELOG.md | Atualizado | Índice curado com entrada do BK-157 |
| docs/LOCK.md | Atualizado | Locks registrados para o fechamento documental |
3. Decisão de Arquitetura (Chave)
3.1 Superfície Principal
> O Studio é a superfície principal de visibilidade/orquestração.
> O OpenGravity é um módulo complementar.
Justificativa:
| Critério | Studio | OpenGravity |
|----------|--------|-------------|
| Interface HTTP acessível | ✅ Porta 9903 | ❌ Telegram apenas |
| WebSocket para eventos em tempo real | ✅ Nativo | ❌ Não |
| Histórico de sessões persistido | ✅ SQLite/Postgres | ❌ Arquivo local |
| Integração nativa com kernel | ✅ kernel/index.js | ⚠️ Módulo isolado |
| Visualização consolidada (locks/backlog/changelog) | ✅ Abas nativas | ❌ Não |
3.2 Funções do OpenGravity
O OpenGravity continua como:
- ✅ Agente completo via Telegram.
- ✅ Mantenedor de memória de contexto.
- ✅ Exposição de ferramentas para o kernel.
- ❌ Não serve como superfície primária de visibilidade.
4. Fontes de Estado Documentadas
| Fonte | Tipo | Conteúdo |
|-------|------|----------|
| tools/cli_session_presence.sh | Script + arquivo | agent, function, repo, BK, branch, status, heartbeat |
| docs/LOCK.md | Arquivo markdown | Quadro canonico de locks |
| docs/BACKLOG.md | Arquivo markdown | Itens de backlog vivo |
| kernel/observability.js | Runtime JS | Eventos de LLM |
| studio/server.js | Runtime HTTP/WS | Sessões ativas, histórico |
| OpenGravity | Módulo | Eventos de agente (futuro) |
5. Contrato Mínimo de Eventos
```json
{
"type": "orchestration_state",
"timestamp": "2026-04-09T18:50:00Z",
"agents": [
{
"id": "codex",
"function": "documentacao",
"repo": "cerebro",
"bk": "BK-157",
"branch": "vps/BK-157-...",
"status": "ativo",
"files": ["docs/LOCK.md", "docs/BACKLOG.md"],
"heartbeat": "2026-04-09T18:49:00Z"
}
],
"locks": [...],
"backlog_pending": [...]
}
```
Canais:
- Push:
studio_wseventorchestration_state - Pull:
GET /api/orchestration/state
6. MVP Read-Only Existente
6.1 O Que Já Existe no Studio
| Aba | URL | Funcionalidade |
|-----|-----|----------------|
| Locks | /locks | Quadro canonico de locks |
| Backlog | /backlog | Índice de backlogs com filtro |
| Changelog | /changelog | Índice de entregas |
| Observabilidade | /observabilidade | Métricas de LLM |
| Terminal | /terminal | Sessão ativa e histórico |
| Console | /console | Logs de execução |
6.2 O Que Falta (Follow-ups)
| ID | Item | Prioridade |
|----|------|------------|
| OG-01 | Painel unificado de agentes ativos | alta |
| OG-02 | Heartbeat/presença em tempo real | média |
| OG-03 | Alertas visuais de conflito | média |
| OG-04 | Integração OpenGravity como fonte | baixa |
| OG-05 | API /api/orchestration/state | baixa |
7. Critérios de Aceite Cumpridos
- [x] Artefato técnico de arquitetura criado.
- [x] Fontes de estado mapeadas.
- [x] Contrato mínimo de eventos definido.
- [x] MVP read-only explicitado (o que já existe).
- [x] Decisão: Studio = superfície principal, OpenGravity = módulo complementar.
- [x] Próximos passos em follow-ups.
8. Validações Executadas
- [x] Sintaxe Markdown válida em todos os arquivos.
- [x] Links internos referenciados existem.
- [x] Path list respeitada (apenas docs alterados).
- [x] Locks registrados em
docs/LOCK.md. - [x] Backlog vivo atualizado com status
CONCLUÍDO. - [x] Índice curado do CHANGELOG.md atualizado.
9. Referências
docs/backlog/BK-157-studio-opengravity-orchestration-visibility.mddocs/architecture/BK-157-STUDIO-OPENGRAVITY-CLI-MVP.mddocs/ORQUESTRACAO_MULTI_CLI.mddocs/BACKLOG.mddocs/LOCK.mddocs/CHANGELOG.md/root/cerebro/OpenGravity//root/cerebro/studio//root/cerebro/kernel/observability.js/root/cerebro/tools/cli_session_presence.sh