{
  "type": "object",
  "properties": {
    "verificationId": {
      "type": "string"
    },
    "archiveId": {
      "type": "string"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "VALID",
        "INVALID",
        "INDETERMINATE"
      ]
    },
    "evaluatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "check": {
            "type": "string"
          },
          "outcome": {
            "type": "string",
            "enum": [
              "VALID",
              "INVALID",
              "INDETERMINATE",
              "NOT_APPLICABLE"
            ]
          },
          "detail": {
            "type": "string"
          },
          "reasonCode": {
            "type": "string"
          }
        },
        "required": [
          "check",
          "outcome",
          "reasonCode"
        ],
        "additionalProperties": false
      },
      "minItems": 1
    },
    "trustContextId": {
      "type": "string"
    },
    "policyId": {
      "type": "string"
    },
    "policyVersion": {
      "type": "string"
    },
    "toolVersion": {
      "type": "string"
    },
    "evidenceVersion": {
      "type": "integer",
      "minimum": 1
    },
    "reasonCodes": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "verificationId",
    "archiveId",
    "outcome",
    "steps",
    "evaluatedAt",
    "trustContextId",
    "policyId",
    "policyVersion",
    "toolVersion",
    "evidenceVersion",
    "reasonCodes"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "verificationId": "ver-test-001",
      "archiveId": "arc-test-001",
      "outcome": "INDETERMINATE",
      "evaluatedAt": "2026-10-15T05:00:00Z",
      "trustContextId": "trust-test-001",
      "policyId": "policy-test-v1",
      "policyVersion": "1",
      "toolVersion": "target-validator-1",
      "evidenceVersion": 1,
      "reasonCodes": [
        "TEST_TRUST_MATERIAL_NOT_SUPPLIED"
      ],
      "steps": [
        {
          "check": "timestamp-path",
          "outcome": "INDETERMINATE",
          "reasonCode": "TEST_TRUST_MATERIAL_NOT_SUPPLIED",
          "detail": "Synthetic response: no trusted TSA token is bundled."
        }
      ]
    }
  ]
}
