0

O que o OMA retorna quando seu gate de testes falha

O oh-my-agent (OMA) pode executar novamente um script de testes configurado
quando um workflow ativo tenta encerrar. Este exemplo mostra esse comportamento
com chamadas manuais aos hooks e uma verificação de validade com um erro
intencional. Foi usada a CLI do código-fonte do OMA 15.0.13.

O ambiente de teste considera um item expirado quando now === expiresAt.
A implementação usava >, então o teste desse limite falhou. O processo de
testes terminou com código 1. Este trecho vem da saída real:

not ok 2 - at expiry: expired
# pass 2
# fail 1

O workflow Ralph ativo nesse ambiente tinha um gate de conclusão test.
Uma chamada manual ao hook Stop do OMA executou novamente o script de testes
do pacote. A resposta continha "decision":"block" e este motivo:

Stop gate 'test' FAILED (reinforcement 1/5).

O próprio processo oma hook run terminou com código 0. A decisão no JSON
indica o bloqueio; interpretar esse código como aprovação dos testes seria
um erro.

A correção mudou uma comparação:

-  return now > expiresAt;
+  return now >= expiresAt;

Executar os testes novamente produziu:

# pass 3
# fail 0

A chamada seguinte ao Stop executou o mesmo gate e retornou uma saída padrão
vazia. O OMA removeu o estado do workflow desse ambiente e registrou
gate.passed, seguido de session.ended com o motivo
completion_gate_passed.

A demo, os registros e o script de reprodução incluem os
comandos completos, horários e saídas. Baixe reproduce.py e execute-o com
uma cópia do código-fonte do OMA que já tenha as dependências da CLI:

python3 reproduce.py --oma-source /path/to/oh-my-agent --output /path/to/new-demo-run

Para assistir à explicação de 45 segundos, baixe demo.html do Gist e abra o arquivo salvo no navegador. A página do GitHub mostra o código-fonte do HTML.

O script exige Python 3, Git, Node e Bun. Ele cria um ambiente e um armazenamento
de sessões isolados; não altera o estado do workflow do seu projeto.

Este é um exemplo local com hooks chamados manualmente. Não é uma gravação de
uma sessão de agente autônomo nem um incidente de produção. Ele demonstra esse
gate configurado com esses testes. Não estabelece a correção geral do trabalho
nem uma comparação com outra ferramenta.

A instalação completa do harness fornece a CLI e os hooks usados aqui.
A instalação apenas de skills não inclui esses componentes. Comece com uma
tarefa pequena no
Quick Start
e confira o diff e os testes. O código está no
GitHub.

Carregando publicação patrocinada...