Book: Prompt Engineering Pocket Guide: Techniques for Getting the Most from LLMs Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools Me: xgabriel.com | GitHub A refund_order call lands with amount: "12.50" (string). The validator rejects it. The schema didn't change — the model alias did. A small interpretation drift on a single optional field, and the eval scores you trusted last sprint were lying. This is the upgrade tax on tool-calling. Schemas look like contracts. They behave like prompts. The model reads the description and the field names and decides what to put in. When the model changes, that decision changes. Some tighten validation on enums you thought were permissive. Others reinterpret a renamed field. Most cost nothing; a few cost real money. Freezing on one model alias isn't the answer.…