65 lines
2.5 KiB
JSON
65 lines
2.5 KiB
JSON
{
|
|
"$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
|
|
}
|