{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://claridoc.local/schemas/outline.schema.json", "title": "ClariDoc outline contract", "type": "object", "additionalProperties": false, "required": ["title", "document_type", "sections"], "properties": { "title": {"type": "string", "minLength": 1}, "document_type": { "type": "string", "enum": ["technical_blog", "tutorial", "how_to", "explanation", "reference", "troubleshooting", "design_doc"] }, "sections": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": ["id", "intent", "title", "reader_question", "purpose"], "properties": { "id": {"type": "string", "minLength": 1}, "intent": {"type": "string", "minLength": 1}, "title": {"type": "string", "minLength": 1}, "reader_question": {"type": "string", "minLength": 1}, "purpose": {"type": "string", "minLength": 1}, "must_include": {"type": "array", "items": {"type": "string", "minLength": 1}}, "evidence_ids": {"type": "array", "items": {"type": "string", "pattern": "^[A-Za-z0-9_-]+$"}}, "transition_to_next": {"type": "string"} } } }, "planning_notes": {"type": "array", "items": {"type": "string", "minLength": 1}} } }