{ "title": "Dated current-source dossier", "type": "object", "additionalProperties": false, "properties": { "status": {"type": "string", "enum": ["supported", "conflict", "blocked"]}, "question": {"type": "string", "minLength": 1}, "claims": { "type": "array", "maxItems": 50, "items": { "type": "object", "additionalProperties": false, "properties": { "claim": {"type": "string", "minLength": 1}, "source_url": {"type": "string", "format": "uri"}, "source_date": {"type": "string", "format": "date"}, "retrieved_at": {"type": "string", "format": "date-time"}, "authority": {"type": "string", "enum": ["primary", "supporting"]}, "evidence": {"type": "string", "minLength": 1}, "inference": {"type": "boolean"} }, "required": ["claim", "source_url", "source_date", "retrieved_at", "authority", "evidence", "inference"] } }, "conflicts": {"type": "array", "items": {"type": "string"}, "maxItems": 30}, "limitations": {"type": "array", "items": {"type": "string"}, "maxItems": 30} }, "required": ["status", "question", "claims", "conflicts", "limitations"], "allOf": [ { "if": {"properties": {"status": {"const": "supported"}}, "required": ["status"]}, "then": {"properties": {"claims": {"minItems": 1}, "conflicts": {"maxItems": 0}}} }, { "if": {"properties": {"status": {"const": "conflict"}}, "required": ["status"]}, "then": {"properties": {"conflicts": {"minItems": 1}}} }, { "if": {"properties": {"status": {"const": "blocked"}}, "required": ["status"]}, "then": {"properties": {"limitations": {"minItems": 1}}} } ] }