Most enterprise AI agent failures do not start with the model choosing a tool.
They start with a weak contract around what that tool means. A function schema says send_email(to, subject, body). It does not say who is allowed to send, whether the recipient is external, what approval state is required, whether the operation is idempotent, how retries behave, what evidence must be logged, what happens on partial failure, or how the action is reversed.
That missing contract is where a helpful assistant becomes an uncontrolled production actor.









