{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "diag.region.v1",
  "type": "object",
  "required": ["regions", "global_causes"],
  "properties": {
    "regions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["region_id", "cause", "semantic_description", "grounding_queries", "is_spatial", "confidence", "context_evidence", "uncertainty", "fallback_box_norm_xyxy"],
        "properties": {
          "region_id": {"type": "string"},
          "cause": {"enum": ["transient_occluder", "reflection_or_specular", "cast_shadow", "local_illumination", "motion_blur", "defocus_blur", "geometry_or_pose", "unknown"]},
          "semantic_description": {"type": "string"},
          "grounding_queries": {"type": "array", "items": {"type": "string"}},
          "is_spatial": {"type": "boolean"},
          "confidence": {"type": "number", "minimum": 0, "maximum": 1},
          "context_evidence": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["context_id", "observation"],
              "properties": {"context_id": {"type": "string"}, "observation": {"type": "string"}},
              "additionalProperties": false
            }
          },
          "uncertainty": {"type": "string"},
          "fallback_box_norm_xyxy": {
            "oneOf": [
              {"type": "null"},
              {"type": "array", "prefixItems": [{"type": "number"}, {"type": "number"}, {"type": "number"}, {"type": "number"}], "minItems": 4, "maxItems": 4}
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "global_causes": {"type": "array"}
  },
  "additionalProperties": true
}
