{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://claridoc.local/schemas/brief.schema.json", "title": "ClariDoc document brief", "type": "object", "additionalProperties": false, "required": ["title", "document_type", "audience", "reader_goal", "core_message", "scope"], "properties": { "title": {"type": "string", "minLength": 1}, "document_type": { "type": "string", "enum": ["technical_blog", "tutorial", "how_to", "explanation", "reference", "troubleshooting", "design_doc"] }, "language": {"type": "string", "minLength": 1, "default": "ko-KR"}, "audience": { "type": "object", "additionalProperties": false, "required": ["roles"], "properties": { "roles": {"$ref": "#/$defs/nonEmptyStringArray"}, "prior_knowledge": {"$ref": "#/$defs/stringArray"}, "needs": {"$ref": "#/$defs/stringArray"} } }, "reader_goal": {"type": "string", "minLength": 1}, "core_message": {"type": "string", "minLength": 1}, "scope": {"$ref": "#/$defs/nonEmptyStringArray"}, "non_scope": {"$ref": "#/$defs/stringArray"}, "prerequisites": {"$ref": "#/$defs/stringArray"}, "required_topics": {"$ref": "#/$defs/stringArray"}, "constraints": { "type": "object", "additionalProperties": false, "properties": { "target_words": {"type": "integer", "minimum": 200, "maximum": 30000, "default": 1600}, "tone": {"type": "string", "minLength": 1, "default": "professional and direct"}, "version_context": {"type": "string"}, "max_heading_depth": {"type": "integer", "minimum": 2, "maximum": 6, "default": 3}, "require_citations": {"type": "boolean", "default": true}, "allow_external_knowledge": {"type": "boolean", "default": false} } }, "forbidden_claims": {"$ref": "#/$defs/stringArray"}, "metadata": {"type": "object"} }, "$defs": { "stringArray": {"type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true}, "nonEmptyStringArray": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}, "uniqueItems": true} } }