Contracts
Input and output contracts are JSON Schema-compatible objects stored on skill versions (inputSchema, variablesSchema, outputSchema) and used during runPrompt for validation and trace construction.
outputContractState is declared or undeclared on the version schema — reflecting whether an output schema is treated as binding.
Runtime
Validation outcomes appear in validation.outputContract on runPrompt results and in run artifacts; failures can produce diagnostics with recovery hints.