Gleam.br Wiki

GBR: ADR-0012 Fechamento do Loop Cognitivo e Feedback P2P Assíncrono** | Wiki

Documentação de engenharia e especificações técnicas da Gleam-BR.

GBR: ADR-0012 Fechamento do Loop Cognitivo e Feedback P2P Assíncrono**

  • *Status:* Aceito
  • *Data:* 2026-05-01

*Contexto:*

A infraestrutura do ecossistema Gleam-BR atingiu a maturidade no Anel 6.1, sendo capaz de estabelecer túneis Yamux/Noise e despachar comandos JSON-RPC para execução remota de ferramentas. No entanto, o retorno desta execução no Nó remoto era descartado (através do dummy_handler) ou absorvido por um mock síncrono no oracle.gleam. Para que o Agente IA seja verdadeiramente autônomo, ele precisa receber a prova física da execução, interpretá-la e comunicar o resultado ao usuário em linguagem natural.

*Decisão:*

  1. **Ator Listener Efêmero (mcp_listener.gleam):** Implementação de um manipulador de fluxo OTP temporário. Este Ator é instanciado no momento do despacho da ferramenta, escuta exclusivamente a resposta do stream Yamux, decodifica o protocolo JSON-RPC 2.0 e injeta o result de volta na caixa de mensagens do Agente Principal (ToolExecutionFeedback) antes de se autodestruir.
  2. **Promoção do Oráculo a Ator Reativo (DirectPrompt):** O módulo oracle.gleam foi refatorado para aceitar consultas diretas através da mensagem DirectPrompt. Em vez de apenas simular fluxos BPMN, o Oráculo agora executa a inferência real via motor gbr_llm (Candle/Rust) e devolve a síntese textual para o Agente.
  3. *Padrão 'Fire-and-Forget' no Loop do Agente:* As funções de processamento (process_feedback e process_full_query) agora operam de forma totalmente assíncrona. O Agente despacha a requisição ao Oráculo e transiciona imediatamente para o estado Idle, liberando a CLI para interações do usuário enquanto a inferência pesada ocorre em Dirty Schedulers.

*Consequências:*

  • *Positivas:* Eliminação completa de bloqueios na interface de usuário (REPL) durante a inferência. Criação de uma "Memória de Curto Prazo" onde a IA reage a sucessos e falhas remotas, permitindo o raciocínio encadeado (Agentic Loop).
  • *Negativas/Riscos:* Aumenta a complexidade da gestão de estados concorrentes. Se o Oráculo demorar muito na síntese, o usuário pode enviar novos comandos, exigindo que a FSM lide com mensagens de "raciocínio antigo" chegando fora de ordem (Mitigado pela tipagem de Subject temporários para cada prompt).