Choose object openness deliberately.
Ordinary `parameters` is an open property map.
Every object states `true` or `false`.
Omission retains the standard open default.
Unknown keys follow the policy at that exact level.
Use exact-one `oneOf`, not a type array.
Use one scalar type when absence means no value.
Use mutually exclusive schemas inside `oneOf`.
An integer matches both branches, violating exact-one semantics.
Keywords such as `pattern`, `format`, bounds, `anyOf`, and `allOf` are rejected. Keep the visible subset honest and validate remaining domain rules before side effects.
Primary evidence.
- Original developer report #1040
- rc.8 sandbox normalization
- Enforced raw schema subset
- Unified tools contract
Make the schema executable truth.
The complete guide includes path-based error routing, representation-specific examples, exact-one overlap traps, a complete tool, unsupported-keyword handling, and twelve verification gates.
Read the complete guide