{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://stateofai/statebench/eval_source_gap_v1.schema.json",
  "title": "EvalSourceGapV1",
  "description": "One machine-readable gap or captured-evidence note from the eval native schema source ledger.",
  "type": "object",
  "required": [
    "schema_version",
    "gap_id",
    "framework",
    "source_ledger_ref",
    "gap_text",
    "status",
    "gap_type",
    "verification_needed",
    "owner_role",
    "priority",
    "created_at_utc"
  ],
  "additionalProperties": false,
  "properties": {
    "schema_version": {"const": "eval_source_gap_v1"},
    "gap_id": {"type": "string"},
    "framework": {"type": "string"},
    "source_ledger_ref": {"type": "string"},
    "gap_text": {"type": "string"},
    "status": {
      "type": "string",
      "enum": ["captured", "open", "deferred", "blocked"]
    },
    "gap_type": {
      "type": "string",
      "enum": [
        "package_fixture",
        "hosted_export",
        "trace_export",
        "metric_mapping",
        "provider_export",
        "schema_absence",
        "platform_limitation",
        "captured_evidence"
      ]
    },
    "verification_needed": {"type": "string"},
    "owner_role": {"type": "string"},
    "priority": {
      "type": "string",
      "enum": ["p0", "p1", "p2", "p3"]
    },
    "related_fixture_ids": {
      "type": "array",
      "items": {"type": "string"},
      "uniqueItems": true
    },
    "related_raw_exports": {
      "type": "array",
      "items": {"type": "string"},
      "uniqueItems": true
    },
    "notes": {"type": ["string", "null"]},
    "created_at_utc": {"type": "string", "format": "date-time"}
  }
}
