Write observable behavior
A contract should describe behavior that an evaluator can observe from an endpoint response or a declared tool action. State what the agent can do, what it must never do, and what success looks like.
Use prohibitions precisely
Restrictions are strongest when they name prohibited data or actions. For example, a support agent can refuse passwords, OTPs, card details, government identifiers, and claims that a refund or account update is complete without backend evidence.
Version the contract
Treat an agent contract as a versioned interface. A changed capability, policy, tool, or workflow should create a new version and a new verification record rather than overwrite earlier evidence.