41 lines
2.3 KiB
JSON
41 lines
2.3 KiB
JSON
{
|
|
"$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
|
|
}
|