init: document-haness 설계
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "review.schema.json",
|
||||
"title": "08_*_review.json",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "review_type", "document", "inputs", "verdict", "findings"],
|
||||
"properties": {
|
||||
"schema_version": {"const": "1.0"},
|
||||
"review_type": {"enum": ["logic", "reader"]},
|
||||
"document": {
|
||||
"type": "object",
|
||||
"required": ["path", "sha256"],
|
||||
"properties": {
|
||||
"path": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"required": ["input_sha256", "sources_sha256", "reader_contract_sha256", "evidence_map_sha256", "logic_map_sha256", "term_ledger_sha256"],
|
||||
"properties": {
|
||||
"input_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"sources_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"reader_contract_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"evidence_map_sha256": {
|
||||
"oneOf": [
|
||||
{"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
{"type": "null"}
|
||||
]
|
||||
},
|
||||
"logic_map_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"term_ledger_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"verdict": {"enum": ["pass", "revise", "hold_for_review"]},
|
||||
"findings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "severity", "location", "reader_impact", "suggestion"],
|
||||
"properties": {
|
||||
"id": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"severity": {"enum": ["critical", "high", "medium", "low"]},
|
||||
"location": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"reader_impact": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"suggestion": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"evidence": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"violated_rule": {"type": "string", "minLength": 1, "pattern": "\\S"},
|
||||
"owner": {
|
||||
"enum": [
|
||||
"doc-evidence-curator",
|
||||
"doc-logic-architect",
|
||||
"doc-drafter"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
Reference in New Issue
Block a user