Cinco releases do CLI, da 15.0.2 à 15.0.6, foram lançados na semana passada. O foco principal foi manter agents de longa duração sob controle, reduzindo o número de processos soltos, limitando a memória e controlando loops de retry.

oh-my-agent: daemons Serena compartilhados e loops de retry limitados

Novos Comandos e Ferramentas

A maior parte do trabalho foi dedicada ao gerenciamento do Serena, o backend de busca de código que serve de base para todos os agents. O Serena agora usa runtime gerenciado, com adaptadores do Serena instalados junto com um cache de símbolos em SQLite por arquivo. O Python não mantém mais as árvores completas de símbolos do workspace em memória.

Validação do Serena

O novo comando oma serena check valida a configuração do Serena e executa checagens de Dart contra o daemon compartilhado, retornando exit codes que podem ser usados em scripts.

Limpeza de Daemon

Uma tarefa periódica encerra os daemons Serena compartilhados que ficaram ociosos. Ela verifica a identidade do processo antes de enviar um sinal a um PID registrado, garantindo que um PID reciclado nunca seja morto por engano.

Diagnósticos Gerenciados

Os diagnósticos de pacote reaproveitam o language server do Dart gerenciado. As revisões do adapter são registradas sempre que um daemon compartilhado inicia ou é substituído.

Relatório do Doctor

O oma doctor agora informa o estado do adapter do Serena tanto no rodapé do terminal quanto no relatório JSON.

Stacks Duplicadas

Quando o servidor compartilhado está inacessível, o oma agora reporta a falha de conexão em vez de subir uma stack privada do Serena. Os contextos gerenciados são normalizados antes da consulta ao registry.

Substituição de Daemon

Se a revisão do runtime muda enquanto há clientes conectados, o daemon já carregado é reaproveitado e a substituição espera todos os clientes se desconectarem. Os cenários com daemon ativo, ocupado e com revisão legada estão cobertos por testes.

Análise Antecipada de Dart

O Dart agora analisa por padrão ao abrir o arquivo, e quando nenhuma versão está configurada, usa a versão estável do SDK local.

Retries de Orquestração

Os planos são fixados no momento do dispatch, e os retries são contados por linhagem de workflow e objetivo lógico. Falhas de evidência agora são separadas de falhas de produto, e um problema de metadados ausentes recebe um único reparo limitado, sem reiniciar o planejamento do produto.

Checagens Instáveis

O teste de timeout do bridge agora verifica a resposta do bridge protegido em vez do tempo de relógio. O scan de boundaries tenta de novo quando o worker TypeScript encerra por falha transitória.

Updates Mais Silenciosos

O oma update mostra os componentes do Hyperframes que mudaram, deduplica links reparados e termina com um único resumo de versão. Sumiram os totais de arquivos imprecisos e os avisos de rotina.

Limites de Módulo Mais Claros

A validação de config do Serena foi para a camada de I/O compartilhada, então serena check e o setup não importam mais a fatia de comando do bridge. O comportamento não mudou.

Verificação

A correção das stacks duplicadas foi verificada com 211 testes afetados, type checking, lint, checagem de boundaries e um smoke test de busca de símbolo e definição no Serena 1.7.0 com Dart 3.13.4.

Docs e Testes

Integrations/serena/README.md foi expandido, com novos testes em Python para o adapter de Dart, o instalador e o cache de símbolos.

Conclusão

O oh-my-agent é feito para times que passam mais tempo orquestrando do que escrevendo prompts. Na sequência: guardrails mais firmes para execuções longas de orquestração, para que um objetivo travado falhe rápido em vez de ficar em loop.

Fonte: https://dev.to/gracefullight/oh-my-agent-shared-serena-daemons-bounded-retry-loops-4g6

https://github.com/first-fluke/oh-my-agent

https://dev.

AgentDaemonsLoopsRetrySerena