← Files EvalDossierARCHIVED FILE
schemas/evaluation-attestation.schema.json
11.3 KB · Oct 2, 2026 · 00:29 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/evaluation-attestation.schema.json",
"title": "EvalDossier evaluation attestation 0.1",
"type": "object",
"additionalProperties": false,
"required": [
"protocolVersion",
"schemaVersion",
"attestationId",
"issuedAt",
"evaluator",
"bindings",
"mode",
"coverage",
"overallAssessment",
"obligationVerdict",
"assessments",
"ignoredInputs",
"errors",
"limitations",
"economicAction",
"signatureContext",
"proof"
],
"properties": {
"protocolVersion": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/protocolVersion" },
"schemaVersion": { "const": "evaldossier.evaluation-attestation/0.1" },
"attestationId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" },
"issuedAt": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/timestamp" },
"evaluator": {
"type": "object",
"additionalProperties": false,
"required": ["evaluatorId", "keyId", "softwareVersion"],
"properties": {
"evaluatorId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" },
"keyId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/keyId" },
"softwareVersion": { "type": "string", "minLength": 1, "maxLength": 64 }
}
},
"bindings": {
"type": "object",
"additionalProperties": false,
"required": ["manifestDigest", "profileDigest", "requestDigest", "evidenceBundleDigest"],
"properties": {
"manifestDigest": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/digest" },
"profileDigest": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/digest" },
"requestDigest": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/digest" },
"evidenceBundleDigest": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/digest" }
}
},
"mode": { "enum": ["NATIVE_EVALUATION", "UPSTREAM_NORMALIZATION"] },
"coverage": {
"description": "Coverage records which criteria were assessed; it does not imply that their predicates were established.",
"type": "object",
"additionalProperties": false,
"required": ["status", "assessedCriterionIds", "unassessedCriterionIds"],
"properties": {
"status": { "enum": ["COMPLETE", "PARTIAL", "UNKNOWN"] },
"assessedCriterionIds": {
"type": "array",
"maxItems": 128,
"uniqueItems": true,
"items": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" }
},
"unassessedCriterionIds": {
"type": "array",
"maxItems": 128,
"uniqueItems": true,
"items": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" }
}
},
"allOf": [
{
"if": { "properties": { "status": { "const": "COMPLETE" } }, "required": ["status"] },
"then": { "properties": { "unassessedCriterionIds": { "maxItems": 0 } } }
},
{
"if": { "properties": { "status": { "const": "PARTIAL" } }, "required": ["status"] },
"then": { "properties": { "assessedCriterionIds": { "minItems": 1 }, "unassessedCriterionIds": { "minItems": 1 } } }
},
{
"if": { "properties": { "status": { "const": "UNKNOWN" } }, "required": ["status"] },
"then": { "properties": { "assessedCriterionIds": { "maxItems": 0 } } }
}
]
},
"overallAssessment": {
"type": "object",
"additionalProperties": false,
"required": ["assessment", "basis", "reasonCode"],
"properties": {
"assessment": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/assessment" },
"basis": {
"oneOf": [
{ "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/resultBasis" },
{ "const": "MIXED" }
]
},
"reasonCode": { "type": "string", "pattern": "^[A-Z][A-Z0-9_]{2,127}$" },
"upstreamMapping": { "$ref": "#/$defs/upstreamMapping" }
}
},
"obligationVerdict": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/obligationVerdict" },
"assessments": {
"type": "array",
"minItems": 1,
"maxItems": 128,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"assessmentId",
"criterionId",
"statement",
"basis",
"assessment",
"predicateStatus",
"reasonCode",
"evidenceArtifactIds",
"limitations"
],
"properties": {
"assessmentId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" },
"criterionId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" },
"statement": { "type": "string", "minLength": 1, "maxLength": 1000 },
"basis": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/resultBasis" },
"assessment": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/assessment" },
"predicateStatus": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/predicateStatus" },
"reasonCode": { "type": "string", "pattern": "^[A-Z][A-Z0-9_]{2,127}$" },
"evidenceArtifactIds": {
"type": "array",
"uniqueItems": true,
"items": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" }
},
"confidence": {
"type": "object",
"additionalProperties": false,
"required": ["value", "scale", "calibration"],
"properties": {
"value": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/decimalUnitInterval" },
"scale": { "const": "0_TO_1" },
"calibration": { "enum": ["UPSTREAM_REPORTED_UNVERIFIED", "CALIBRATED", "NOT_APPLICABLE"] }
}
},
"upstreamMapping": { "$ref": "#/$defs/upstreamMapping" },
"limitations": {
"type": "array",
"maxItems": 16,
"items": { "type": "string", "minLength": 1, "maxLength": 1000 }
}
},
"allOf": [
{
"if": {
"properties": { "basis": { "enum": ["MODEL_JUDGMENT", "HEURISTIC", "SELF_ASSERTION"] } },
"required": ["basis"]
},
"then": { "properties": { "predicateStatus": { "const": "UNDETERMINED" } } }
},
{
"if": { "properties": { "assessment": { "const": "INCONCLUSIVE" } }, "required": ["assessment"] },
"then": { "properties": { "predicateStatus": { "const": "UNDETERMINED" } } }
},
{
"if": { "properties": { "predicateStatus": { "const": "ESTABLISHED_TRUE" } }, "required": ["predicateStatus"] },
"then": { "properties": { "assessment": { "const": "AFFIRMED" } } }
},
{
"if": { "properties": { "predicateStatus": { "const": "ESTABLISHED_FALSE" } }, "required": ["predicateStatus"] },
"then": { "properties": { "assessment": { "const": "REJECTED" } } }
}
]
}
},
"ignoredInputs": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["pointer", "reason"],
"properties": {
"pointer": { "type": "string", "pattern": "^/", "maxLength": 500 },
"reason": { "type": "string", "minLength": 1, "maxLength": 500 }
}
}
},
"errors": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["code", "message", "retryable"],
"properties": {
"code": { "type": "string", "pattern": "^[A-Z][A-Z0-9_]{2,127}$" },
"message": { "type": "string", "minLength": 1, "maxLength": 500 },
"retryable": { "type": "boolean" }
}
}
},
"limitations": {
"type": "array",
"maxItems": 32,
"items": { "type": "string", "minLength": 1, "maxLength": 1000 }
},
"economicAction": { "const": "OUT_OF_SCOPE" },
"signatureContext": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/signatureContext" },
"proof": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/proof" }
},
"$defs": {
"upstreamMapping": {
"type": "object",
"additionalProperties": false,
"required": ["sourceArtifactId", "nativePointer", "nativeValue", "mappingPolicyId"],
"properties": {
"sourceArtifactId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" },
"nativePointer": { "type": "string", "pattern": "^/", "maxLength": 500 },
"nativeValue": { "type": ["string", "boolean", "integer", "null"] },
"mappingPolicyId": { "$ref": "https://raw.githubusercontent.com/miguel-herrero-systems/evaldossier/v0.1.0/schemas/common.schema.json#/$defs/identifier" }
}
}
},
"allOf": [
{
"if": {
"properties": {
"overallAssessment": {
"properties": { "basis": { "enum": ["MODEL_JUDGMENT", "HEURISTIC", "SELF_ASSERTION"] } },
"required": ["basis"]
}
},
"required": ["overallAssessment"]
},
"then": { "properties": { "obligationVerdict": { "const": "INCONCLUSIVE" } } }
},
{
"if": {
"properties": {
"overallAssessment": {
"properties": { "assessment": { "const": "INCONCLUSIVE" } },
"required": ["assessment"]
}
},
"required": ["overallAssessment"]
},
"then": { "properties": { "obligationVerdict": { "const": "INCONCLUSIVE" } } }
}
]
}
SHA-256: f94e2bf6b935e67731638447f8c791a1c1e2529951c37c4a41b45cac41c9cabd