init: document-haness 하네스 설계

This commit is contained in:
DongHyeonka
2026-07-24 13:58:08 +09:00
parent d6f78f92a0
commit c39406bbdd
219 changed files with 7010 additions and 20052 deletions
+50
View File
@@ -0,0 +1,50 @@
{
"$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}
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"$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}}
}
}
+140
View File
@@ -0,0 +1,140 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://claridoc.local/schemas/pipeline.schema.json",
"title": "ClariDoc pipeline configuration",
"type": "object",
"additionalProperties": false,
"properties": {
"planner": {
"$ref": "#/$defs/provider"
},
"writer": {
"$ref": "#/$defs/provider"
},
"reviewers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"role",
"provider"
],
"properties": {
"role": {
"type": "string",
"minLength": 1
},
"provider": {
"$ref": "#/$defs/providerName"
},
"model": {
"type": "string"
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"default": 300
},
"options": {
"type": "object"
}
}
}
},
"reviser": {
"$ref": "#/$defs/provider"
},
"quality_gate": {
"type": "object",
"additionalProperties": false,
"properties": {
"minimum_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 82
},
"max_blockers": {
"type": "integer",
"minimum": 0,
"default": 0
},
"max_errors": {
"type": "integer",
"minimum": 0,
"default": 2
},
"max_revisions": {
"type": "integer",
"minimum": 0,
"default": 2
},
"deterministic_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0.4
},
"model_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0.6
}
}
},
"fail_on_reviewer_error": {
"type": "boolean",
"default": true
}
},
"$defs": {
"providerName": {
"type": "string",
"enum": [
"mock",
"codex",
"claude",
"antigravity"
]
},
"provider": {
"oneOf": [
{
"$ref": "#/$defs/providerName"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"provider"
],
"properties": {
"provider": {
"$ref": "#/$defs/providerName"
},
"model": {
"type": "string"
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"default": 300
},
"options": {
"type": "object"
}
}
}
]
}
},
"required": [
"planner",
"writer",
"reviewers",
"reviser"
]
}
+137
View File
@@ -0,0 +1,137 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://claridoc.local/schemas/review.schema.json",
"title": "ClariDoc model review response",
"type": "object",
"additionalProperties": false,
"required": [
"score",
"dimension_scores",
"issues",
"strengths",
"questions"
],
"properties": {
"score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"dimension_scores": {
"type": "object",
"additionalProperties": false,
"required": [
"reader_goal_alignment",
"information_architecture",
"logical_flow",
"cognitive_load",
"evidence_traceability",
"example_verifiability",
"scannability",
"operational_safety",
"completeness_and_limits"
],
"properties": {
"reader_goal_alignment": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"information_architecture": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"logical_flow": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"cognitive_load": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"evidence_traceability": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"example_verifiability": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"scannability": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"operational_safety": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"completeness_and_limits": {
"type": "number",
"minimum": 0,
"maximum": 100
}
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"section",
"problem",
"why_it_matters",
"fix",
"severity"
],
"properties": {
"section": {
"type": "string"
},
"problem": {
"type": "string",
"minLength": 1
},
"why_it_matters": {
"type": "string",
"minLength": 1
},
"fix": {
"type": "string",
"minLength": 1
},
"severity": {
"type": "string",
"enum": [
"blocker",
"error",
"warning",
"info"
]
}
}
}
},
"strengths": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"questions": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
+27
View File
@@ -0,0 +1,27 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://claridoc.local/schemas/source-pack.schema.json",
"title": "ClariDoc source pack",
"type": "object",
"additionalProperties": false,
"required": ["sources"],
"properties": {
"sources": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "url"],
"properties": {
"id": {"type": "string", "pattern": "^[A-Za-z0-9_-]+$", "minLength": 1},
"title": {"type": "string", "minLength": 1},
"url": {"type": "string", "minLength": 1},
"publisher": {"type": "string"},
"accessed": {"type": "string"},
"facts": {"type": "array", "items": {"type": "string", "minLength": 1}},
"notes": {"type": "string"}
}
}
}
}
}