{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "WaterStorage Watershed Seed v1",
  "type": "object",
  "required": ["version", "phase", "resources", "tracks", "history"],
  "properties": {
    "version": { "const": "waterstorage-seed-v1" },
    "phase": {
      "type": "string",
      "enum": ["Ocean", "Evaporation", "Clouds", "Precipitation", "Soil Surface", "Streamlines", "Creeks/Rivers", "Lakes/Reservoirs", "Groundwater", "Return"]
    },
    "resources": {
      "type": "object",
      "required": ["energy", "flow", "pressure", "pollution", "channels", "reservoirs"],
      "properties": {
        "energy": { "type": "integer", "minimum": 0 },
        "flow": { "type": "integer", "minimum": 0 },
        "pressure": { "type": "integer", "minimum": 0 },
        "pollution": { "type": "integer", "minimum": 0 },
        "channels": { "type": "integer", "minimum": 0 },
        "reservoirs": { "type": "integer", "minimum": 0 }
      }
    },
    "tracks": {
      "type": "object",
      "required": ["groundwater_health", "cycle_count", "memory_count", "trigger_count"],
      "properties": {
        "groundwater_health": { "type": "integer", "minimum": 0 },
        "cycle_count": { "type": "integer", "minimum": 0 },
        "memory_count": { "type": "integer", "minimum": 0 },
        "trigger_count": { "type": "integer", "minimum": 0 }
      }
    },
    "history": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["transition", "from", "to"],
        "properties": {
          "transition": { "type": "string", "pattern": "^T[0-9]{2}$" },
          "from": { "type": "string" },
          "to": { "type": "string" },
          "at": { "type": "string" }
        }
      }
    }
  }
}
