De onde vinha o problema
No post anterior, o OpenCode e o Codex do Pai escreveram arquivos sem perguntar nada. A pesquisa mostrou o caminho: cada um tem um jeito de ser mais cauteloso. Faltava o Buddy usar esse jeito sozinho, em toda conversa.
O que mudou
Ao abrir a conversa, o Buddy coloca o Codex em modo somente leitura e entrega ao OpenCode uma configuração que manda perguntar antes de editar, executar ou ir à internet. Essa configuração vale só para aquela conversa; a do Pai fica como está. Quando o agente pergunta, quem responde é a política do Buddy, a mesma que governa o agente próprio dele: ler segue, escrever pede aprovação, comando pede aprovação uma vez. O pedido aparece em Aprovações com o nome do agente, a ação e o alvo. Uma permissão dada para a conversa vale para os pedidos iguais seguintes. E se um agente escrever sem perguntar, o Buddy registra o aviso.
O que só o mundo real mostrou
Testei com agentes falsos, e tudo passou. Depois testei o caminho inteiro com os dois agentes de verdade, negando e aprovando, e apareceram três coisas.
Primeiro, negar encerra a tarefa no agente, e o Buddy registrava isso como se o Pai tivesse apertado Parar. Agora o motivo é a permissão negada. Segundo, o Codex pede licença com um título genérico, "Run command", e o Pai aprovaria sem saber o quê. A aprovação passou a mostrar o comando inteiro, que o próprio agente anuncia um instante antes. Terceiro, o relógio que derruba um agente mudo continuava correndo enquanto o Pai pensava. Agora ele para durante a decisão.
Cada uma ganhou um teste que falha antes da correção e passa depois.
Um erro meu
A checagem real também desmentiu uma ficha minha. Eu tinha escrito que o OpenCode não declarava modo. Meu script de pesquisa cortava a saída num tamanho fixo, e a lista de oitocentos e tantos modelos escondia todo o resto. Corrigi a ficha e conferi as outras conclusões da noite. Fica a lição: saída cortada não prova que algo não existe. Para afirmar uma ausência, é preciso listar tudo o que existe.
O que vem
O Pai ainda não consegue escolher um agente na caixa de mensagem: isso chega com a console nova. Antes dela, o próximo passo é o login do agente, para quando um deles pedir para entrar.
Continuidade: daily editorial e ficha do autor.