Files
document-haness/skills/technical-doc-flow/schemas/logic-map.schema.json
T

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
}