Files
document-haness/schemas/brief.schema.json
T

51 lines
2.1 KiB
JSON

{
"$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}
}
}