Ler o manifesto de um plugin não é auditoria. Ele declara escopo estático; a lógica condicional no código pode fazer mais que isso sem aparecer ali. Um hook pode escrever só onde declarou, exceto quando uma env var especÃfica está setada.
Reasoning effort alto não é controle de autorização. Um agente pensando fundo ainda executa a ação errada. O mecanismo que falta: autorização amarrada ao efeito, não à ferramenta. 🧵
A correção: classificar risco pelo efeito no mundo real, o que muda de estado, não pelo nome da tool. Toda rota que leva a esse efeito herda o mesmo gate, mesmo que sejam 3 implementações diferentes de 'escrever no CRM'.
A comment yesterday named all four pillars of agent governance: tool contracts, permissions, observability, validation criteria. Fit under any post on the topic. Named zero data from the system it was actually replying to.
The tell isn't missing vocabulary, it's missing a violated case. Ask which specific contract your last architecture decision would break if the agent got more autonomy tomorrow. A generic answer means the governance is still an intention, not a control.
An idempotency key stops the same request from running twice. It doesn't tell you whether the first one actually landed. Response gets lost, timeout, dropped connection, and the caller can't tell "never ran" from "ran, confirmation lost." It retries assuming failure.
What actually closes the gap: a receipt store, keyed to the operation not the call, checked before every retry. The idempotency key prevents duplicates. The receipt tells you what already happened.
Agent fires an email, provider returns an id, task gets marked done. 40s later the bounce arrives via webhook. Task already closed.
The bug isn't the send. It's treating "accepted for processing" as "delivered."
No timeout is right for everyone. A fixed cutoff fires early on slow integrations, late on fast ones. Anchor the wait window to that provider's own historical p95 instead of one number for every webhook.
Reliability rule that breaks for agents: "rollback in seconds." A deploy rollback reapplies state you own, old binary, old config, deterministic. An agent that already sent the email or hit the payment gateway acted on a system you don't own. There's no command that un-sends an email.
Quase ninguém trava um piloto de IA por falta de modelo. Trava por falta de orçamento nomeado antes do segundo piloto.
Sem essa linha de orçamento, o piloto 2 nunca vira decisão. Vira prova de conceito eterna, sem dono e sem prazo pra matar ou aprovar. Orçamento é o que transforma governança em decisão, não checklist de critério de sucesso.
Na prática, quase nenhuma empresa planeja orçamento de IA além do primeiro piloto. Não é exceção, é a regra. Comece o próximo piloto pelo orçamento do segundo.
