{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "logic-map.schema.json", "title": "04_logic_map.json", "type": "object", "required": ["schema_version", "title", "document_kind", "core_claim", "sections", "closure"], "properties": { "schema_version": {"const": "1.0"}, "title": {"type": "string", "minLength": 1, "pattern": "\\S"}, "document_kind": {"enum": ["explanation", "decision", "how-to", "reference"]}, "core_claim": {"type": "string", "minLength": 1, "pattern": "\\S"}, "sections": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["id", "heading", "role", "depends_on", "reader_state_before", "question", "answer_plain", "claim_ids", "new_terms", "transition_to", "reader_state_after"], "properties": { "id": {"type": "string", "minLength": 1, "pattern": "\\S"}, "heading": {"type": "string", "minLength": 1, "pattern": "\\S"}, "role": {"type": "string", "minLength": 1, "pattern": "\\S"}, "depends_on": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}, "uniqueItems": true}, "reader_state_before": {"type": "string", "minLength": 1, "pattern": "\\S"}, "question": {"type": "string", "minLength": 1, "pattern": "\\S"}, "answer_plain": {"type": "string", "minLength": 1, "pattern": "\\S"}, "claim_ids": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}, "uniqueItems": true}, "new_terms": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}, "uniqueItems": true}, "transition_to": {"type": ["string", "null"], "pattern": "\\S"}, "reader_state_after": {"type": "string", "minLength": 1, "pattern": "\\S"}, "required_markers": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}}, "proves": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}}, "does_not_prove": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}} }, "additionalProperties": false } }, "closure": {"type": "string", "minLength": 1, "pattern": "\\S"} }, "additionalProperties": false }