Lint LLM Schemas Before Prod

Thought Snippet · 2026-06-20 · 09:30 AM PT

A JSON Schema or tool definition that works on one LLM provider can 400 on another: OpenAI demands additionalProperties:false on every object and forbids default; Anthropic rejects a dozen validation keywords (minLength, pattern, format, minimum/maximum, and more); Gemini chokes on anyOf and dicts. The API tells you it failed, not which keyword. The durable fix is a static, provider-aware CI lint that fails the PR — naming the JSON-Pointer path, the offending keyword, and why — before the schema reaches production. The constraint surfaces are documented; treat them as a deterministic pre-ship check, not a runtime surprise.

Tags: #failure-modes #execution #infra