{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://forgevena.dev/schemas/visual-evidence.schema.json",
  "title": "Forgevena Visual Evidence",
  "type": "object",
  "additionalProperties": false,
  "required": ["schemaVersion", "assets"],
  "properties": {
    "schemaVersion": { "const": 1 },
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["path", "type", "altText", "productVersion", "reviewedAt", "reviewBy", "sha256", "sourceDependencies"],
        "properties": {
          "path": { "type": "string", "pattern": "^docs/assets/" },
          "type": { "enum": ["screenshot", "diagram", "brand", "icon"] },
          "altText": { "type": "string", "minLength": 1 },
          "productVersion": { "type": "string", "minLength": 1 },
          "reviewedAt": { "type": "string", "format": "date" },
          "reviewBy": { "type": "string", "format": "date" },
          "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
          "sourceDependencies": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["path", "sha256"],
              "properties": {
                "path": { "type": "string", "minLength": 1 },
                "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
              }
            }
          }
        }
      }
    }
  }
}
