{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://hogarmas.net/content-credentials/status-code-triage-schema.json",
  "title": "H/M C2PA Status Code Triage Result",
  "type": "object",
  "required": [
    "schema",
    "ruleset",
    "state",
    "summary",
    "counts",
    "affectedDomains",
    "items",
    "source",
    "privacy",
    "limitations"
  ],
  "properties": {
    "schema": {
      "const": "hm.c2pa-status-triage.v1"
    },
    "ruleset": {
      "type": "string",
      "const": "2026-07-30.1"
    },
    "state": {
      "enum": [
        "no-status-codes",
        "failure-observed",
        "review-required",
        "vendor-review-required",
        "informational-review",
        "no-standard-failure-observed"
      ]
    },
    "summary": {
      "type": "string"
    },
    "counts": {
      "type": "object",
      "required": [
        "observations",
        "uniqueCodes",
        "success",
        "informational",
        "failure",
        "unclassified",
        "standard",
        "customOrUnknown",
        "invalidFormat",
        "classMismatches"
      ],
      "additionalProperties": false,
      "properties": {
        "observations": {
          "type": "integer",
          "minimum": 0,
          "maximum": 200
        },
        "uniqueCodes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 200
        },
        "success": {
          "type": "integer",
          "minimum": 0
        },
        "informational": {
          "type": "integer",
          "minimum": 0
        },
        "failure": {
          "type": "integer",
          "minimum": 0
        },
        "unclassified": {
          "type": "integer",
          "minimum": 0
        },
        "standard": {
          "type": "integer",
          "minimum": 0
        },
        "customOrUnknown": {
          "type": "integer",
          "minimum": 0
        },
        "invalidFormat": {
          "type": "integer",
          "minimum": 0
        },
        "classMismatches": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "affectedDomains": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "domain",
          "codes",
          "failures"
        ],
        "additionalProperties": false,
        "properties": {
          "domain": {
            "type": "string"
          },
          "codes": {
            "type": "integer",
            "minimum": 0
          },
          "failures": {
            "type": "integer",
            "minimum": 0
          }
        }
      }
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "classification",
          "effectiveClass",
          "standardClass",
          "observedClasses",
          "classMismatch",
          "occurrences",
          "domain",
          "scope",
          "meaning",
          "nextAction",
          "submittedContext"
        ],
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "classification": {
            "enum": [
              "standard",
              "custom-or-unknown",
              "invalid-format"
            ]
          },
          "effectiveClass": {
            "enum": [
              "success",
              "informational",
              "failure",
              "unclassified"
            ]
          },
          "standardClass": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "success",
              "informational",
              "failure",
              null
            ]
          },
          "observedClasses": {
            "type": "array",
            "items": {
              "enum": [
                "success",
                "informational",
                "failure"
              ]
            },
            "uniqueItems": true
          },
          "classMismatch": {
            "type": "boolean"
          },
          "occurrences": {
            "type": "integer",
            "minimum": 1
          },
          "domain": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "meaning": {
            "type": "string"
          },
          "nextAction": {
            "type": "string"
          },
          "submittedContext": {
            "type": "object",
            "required": [
              "urlPresent",
              "explanationPresent",
              "returned"
            ],
            "additionalProperties": false,
            "properties": {
              "urlPresent": {
                "type": "boolean"
              },
              "explanationPresent": {
                "type": "boolean"
              },
              "returned": {
                "const": false
              }
            }
          }
        }
      }
    },
    "source": {
      "type": "object",
      "required": [
        "specification",
        "specificationVersion",
        "statusCodeReference",
        "crJsonReference",
        "catalogEntries",
        "license"
      ],
      "additionalProperties": false,
      "properties": {
        "specification": {
          "const": "C2PA Content Credentials"
        },
        "specificationVersion": {
          "const": "2.4"
        },
        "statusCodeReference": {
          "type": "string",
          "format": "uri"
        },
        "crJsonReference": {
          "type": "string",
          "format": "uri"
        },
        "catalogEntries": {
          "const": 115
        },
        "license": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "privacy": {
      "type": "object",
      "required": [
        "sourceMediaAccepted",
        "urlsReturned",
        "submittedExplanationsReturned",
        "inputPersistedByCore"
      ],
      "additionalProperties": false,
      "properties": {
        "sourceMediaAccepted": {
          "const": false
        },
        "urlsReturned": {
          "const": false
        },
        "submittedExplanationsReturned": {
          "const": false
        },
        "inputPersistedByCore": {
          "const": false
        }
      }
    },
    "limitations": {
      "type": "object",
      "required": [
        "validatesAsset",
        "validatesManifest",
        "verifiesSignature",
        "establishesSignerTrust",
        "determinesTruth",
        "infersCustomCodeMeaning",
        "absenceOfFailureProvesValidity"
      ],
      "additionalProperties": false,
      "properties": {
        "validatesAsset": {
          "const": false
        },
        "validatesManifest": {
          "const": false
        },
        "verifiesSignature": {
          "const": false
        },
        "establishesSignerTrust": {
          "const": false
        },
        "determinesTruth": {
          "const": false
        },
        "infersCustomCodeMeaning": {
          "const": false
        },
        "absenceOfFailureProvesValidity": {
          "const": false
        }
      }
    }
  },
  "additionalProperties": false
}
