{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://superhotgeo.com/standards/superhot-project-v0.1.schema.json",
  "title": "SuperhotGeo Project Data Standard",
  "description": "Draft v0.1 schema for comparable, source-linked superhot and next-generation geothermal project records.",
  "type": "object",
  "required": ["projectId", "name", "country", "evidenceStage", "evidenceBasis", "lastReviewed", "sources"],
  "properties": {
    "projectId": { "type": "string", "description": "Stable, unique project identifier." },
    "name": { "type": "string" },
    "operator": { "type": "string" },
    "country": { "type": "string" },
    "region": { "type": "string" },
    "coordinates": {
      "type": "object",
      "properties": {
        "latitude": { "type": "number", "minimum": -90, "maximum": 90 },
        "longitude": { "type": "number", "minimum": -180, "maximum": 180 },
        "precision": { "type": "string", "enum": ["exact", "approximate", "regional", "withheld"] }
      },
      "required": ["precision"]
    },
    "geologicalSystem": {
      "type": "string",
      "enum": ["hydrothermal", "petrothermal", "mixed_or_unresolved", "not_yet_classified"]
    },
    "extractionApproach": {
      "type": "string",
      "enum": ["natural_open_loop", "engineered_open_loop", "closed_loop_heat_exchanger", "multiple_under_study", "not_specified"]
    },
    "evidenceStage": {
      "type": "string",
      "enum": ["regional_screen", "play", "prospect", "discovery", "research_well", "demonstration", "development", "operating_field"]
    },
    "evidenceBasis": {
      "type": "string",
      "enum": ["measured", "measured_and_modeled", "operator_reported", "modeled", "conceptual"]
    },
    "evidenceConfidence": { "type": "string", "enum": ["high", "medium", "preliminary"] },
    "temperatureC": { "type": ["number", "null"], "description": "Highest measured or targeted temperature; evidenceBasis must distinguish which." },
    "depthKm": { "type": ["number", "null"] },
    "wellCount": { "type": ["integer", "null"], "minimum": 0 },
    "plannedCapacityMw": { "type": ["number", "null"], "minimum": 0 },
    "demonstratedCapacityMw": { "type": ["number", "null"], "minimum": 0 },
    "targetCommercialOperationDate": { "type": ["string", "null"] },
    "gridStatus": { "type": ["string", "null"] },
    "offtakeStatus": { "type": ["string", "null"] },
    "dataCenterFit": {
      "type": "object",
      "properties": {
        "firmCapacityMw": { "type": ["number", "null"], "minimum": 0 },
        "fiberProximityKm": { "type": ["number", "null"], "minimum": 0 },
        "campusDistanceKm": { "type": ["number", "null"], "minimum": 0 },
        "waterStrategy": { "type": ["string", "null"] },
        "deliveryModel": { "type": ["string", "null"] }
      }
    },
    "failuresAndLessons": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["summary", "sourceId"],
        "properties": {
          "summary": { "type": "string" },
          "temperatureC": { "type": ["number", "null"] },
          "rootCause": { "type": ["string", "null"] },
          "sourceId": { "type": "string" }
        }
      }
    },
    "nextEvidenceNeeded": { "type": "string" },
    "lastReviewed": { "type": "string", "format": "date" },
    "sources": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": ["sourceId", "url", "publisher", "accessedAt"],
        "properties": {
          "sourceId": { "type": "string" },
          "url": { "type": "string", "format": "uri" },
          "publisher": { "type": "string" },
          "publishedAt": { "type": ["string", "null"] },
          "accessedAt": { "type": "string", "format": "date" },
          "evidenceType": { "type": "string" }
        }
      }
    }
  },
  "additionalProperties": true
}
