{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "verificationId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "evidenceRevisionId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "provenance": {
      "type": "string",
      "enum": [
        "observed",
        "provider_verified"
      ]
    },
    "result": {
      "type": "string",
      "enum": [
        "passed",
        "failed",
        "pending",
        "canceled",
        "unknown",
        "unsupported",
        "mismatched",
        "stale",
        "inaccessible"
      ]
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "azure_devops"
      ]
    },
    "repositoryId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "runId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "commitSha": {
      "type": "string",
      "maxLength": 40
    },
    "state": {
      "type": "string",
      "enum": [
        "passed",
        "failed",
        "pending",
        "canceled",
        "unknown",
        "unsupported",
        "mismatched",
        "stale",
        "inaccessible"
      ]
    },
    "observedAt": {
      "type": "string",
      "maxLength": 40
    },
    "runAttempt": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "assertions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "run",
              "job",
              "check",
              "test_run"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "state": {
            "type": "string",
            "enum": [
              "passed",
              "failed",
              "pending",
              "canceled",
              "unknown",
              "unsupported",
              "mismatched",
              "stale",
              "inaccessible"
            ]
          }
        },
        "required": [
          "kind",
          "id",
          "state"
        ]
      },
      "maxItems": 201,
      "minItems": 0
    },
    "artifacts": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "state": {
            "type": "string",
            "enum": [
              "available",
              "expired",
              "inaccessible",
              "unsupported",
              "mismatched"
            ]
          },
          "sha256": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "providerDigest": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 71
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 40
              },
              {
                "type": "null"
              }
            ]
          },
          "reports": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "path": {
                  "type": "string",
                  "maxLength": 1024
                },
                "sha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "junit",
                    "sarif",
                    "axe",
                    "load",
                    "migration",
                    "unsupported"
                  ]
                },
                "provenance": {
                  "const": "reported"
                },
                "result": {
                  "type": "string",
                  "enum": [
                    "passed",
                    "failed",
                    "unknown"
                  ]
                },
                "counts": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                }
              },
              "required": [
                "path",
                "sha256",
                "format",
                "provenance",
                "result",
                "counts"
              ]
            },
            "maxItems": 100,
            "minItems": 0
          }
        },
        "required": [
          "id",
          "state",
          "sha256",
          "providerDigest",
          "expiresAt",
          "reports"
        ]
      },
      "maxItems": 20,
      "minItems": 0
    },
    "completeness": {
      "type": "string",
      "enum": [
        "complete",
        "bounded"
      ]
    },
    "adapter": {
      "type": "string",
      "maxLength": 40
    },
    "adapterVersion": {
      "const": "1"
    },
    "scope": {
      "type": "string",
      "maxLength": 200
    },
    "artifactSha256": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        {
          "type": "null"
        }
      ]
    },
    "targets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentExactTarget"
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "id",
    "verificationId",
    "evidenceRevisionId",
    "provenance",
    "result",
    "provider",
    "repositoryId",
    "runId",
    "commitSha",
    "state",
    "observedAt",
    "runAttempt",
    "assertions",
    "artifacts",
    "completeness",
    "adapter",
    "adapterVersion",
    "scope",
    "artifactSha256",
    "targets"
  ]
}