{ "title": "Frozen compatibility contract", "type": "object", "additionalProperties": false, "properties": { "contract": {"type": "string", "minLength": 1}, "contract_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}, "clauses": { "type": "array", "minItems": 1, "maxItems": 100, "items": { "type": "object", "additionalProperties": false, "properties": { "id": {"type": "string", "minLength": 1}, "invariant": {"type": "string", "minLength": 1}, "evidence_location": {"type": "string", "minLength": 1}, "classification": {"type": "string", "enum": ["guaranteed", "observed", "uncertain"]} }, "required": ["id", "invariant", "evidence_location", "classification"] } }, "uncertainties": {"type": "array", "items": {"type": "string"}, "maxItems": 30} }, "required": ["contract", "contract_sha256", "clauses", "uncertainties"] }