Status: Aceita, 2026-10-04 (a regra existe desde o início do projeto).
Contexto#
O hook roda em cada evento de cada agente. Se ele travar ou imprimir a coisa errada, o trabalho do usuário para, e ele não pediu para a gente estar nesse caminho.
Decisão#
Em qualquer falha (app fechado, lento, uma mensagem ruim), o hook sai com código 0 e stdout vazio, e o agente segue como se não estivéssemos lá. Um pedido de permissão espera a confirmação do app por no máximo 800 ms; um humano, no máximo pelo prazo de decisão (110 s), e depois o agente pergunta no próprio terminal.
Consequências#
- O hook usa só
stdeserde_json: inicia rápido e tem pouco para quebrar. - Recursos que precisariam que o agente esperasse por nós (parar, pausar) não podem ser feitos só com o hook. Veja 0011.