83 lines
2.0 KiB
JSON
83 lines
2.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"required": ["candidates"],
|
|
"properties": {
|
|
"candidates": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"scores",
|
|
"total_score",
|
|
"verified",
|
|
"confidence"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"scores": {
|
|
"type": "object"
|
|
},
|
|
"total_score": {
|
|
"type": "number"
|
|
},
|
|
"verified": {
|
|
"type": "boolean"
|
|
},
|
|
"confidence": {
|
|
"enum": [
|
|
"high",
|
|
"medium",
|
|
"low"
|
|
]
|
|
},
|
|
"evidence": {
|
|
"type": "array"
|
|
},
|
|
"verification": {
|
|
"type": "array"
|
|
},
|
|
"provenance": {
|
|
"type": "object",
|
|
"required": [
|
|
"probe_dump",
|
|
"differential_verification"
|
|
],
|
|
"properties": {
|
|
"probe_dump": { "type": "string", "minLength": 1 },
|
|
"module_dump": { "type": "string" },
|
|
"evidence_graph": { "type": "string" },
|
|
"differential_verification": { "type": "string", "minLength": 1 }
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": true,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"verified": { "const": true }
|
|
}
|
|
},
|
|
"then": {
|
|
"required": ["verification"],
|
|
"properties": {
|
|
"verification": { "minItems": 1 }
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|