What does a typed JSON Schema role contract enforce that a natural language role description in a system prompt cannot?
Answer: It structurally rejects inputs that do not match the declared input schema before the agent processes them
A typed JSON Schema input contract is validated programmatically at the agent's entry point. If the incoming request does not match the schema — wrong field types, missing required fields, out-of-range values — the validator rejects it before any LLM call is made. A natural language role description can only instruct the model to behave a certain way; it cannot prevent the model from attempting to process out-of-scope inputs or producing out-of-schema outputs. Schema contracts enforce boundaries structurally, not by instruction. The other options describe capabilities that schemas do not provide: tool access is controlled by the tools parameter, correctness depends on model quality, and injection defense requires separate input sanitization.