{
  "ok": true,
  "schema": "kelly-lens-artifact-spine-v1",
  "lensId": "weather-disaster",
  "service": "Weather and Disaster Lab",
  "readOnly": true,
  "publicMutationAllowed": false,
  "publicUserWriteAllowed": false,
  "groundTruthWriteAllowed": false,
  "glassLabArtifactBase": "https://glass-lab.up.railway.app?artifact=weather-disaster",
  "forecastShowcaseUrl": "/api/kelly/forecast-showcase",
  "hazardForecastCardUrl": "/api/hazard-forecast-card",
  "steps": [
    {
      "key": "source",
      "label": "Source",
      "description": "Approved data feed, document, event, price, weather, policy, research, or odds source.",
      "required": true,
      "status": "actively_checked_or_pending",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Asource"
    },
    {
      "key": "observation",
      "label": "Observation",
      "description": "A tagged fact candidate KELLY can inspect without trusting blindly.",
      "required": true,
      "status": "actively_checked_or_pending",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Aobservation"
    },
    {
      "key": "hypothesis",
      "label": "Hypothesis",
      "description": "The causal question, bridge, or forecast KELLY wants reality to test.",
      "required": true,
      "status": "actively_checked_or_pending",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Ahypothesis"
    },
    {
      "key": "proof",
      "label": "Proof receipt",
      "description": "The evidence packet that explains what KELLY saw and why it moved.",
      "required": true,
      "status": "linked_when_kelly_emits_receipt",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Aproof"
    },
    {
      "key": "replay",
      "label": "Replay",
      "description": "The reconstruction path that proves the chain can be rebuilt later.",
      "required": true,
      "status": "linked_when_kelly_emits_receipt",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Areplay"
    },
    {
      "key": "settlement",
      "label": "Settlement",
      "description": "The reality-close record: what happened, when, and from which authority.",
      "required": true,
      "status": "linked_when_kelly_emits_receipt",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Asettlement"
    },
    {
      "key": "calibration",
      "label": "Calibration",
      "description": "The score that separates accuracy from confident language.",
      "required": true,
      "status": "linked_when_kelly_emits_receipt",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Acalibration"
    },
    {
      "key": "memory",
      "label": "Memory eligibility",
      "description": "A replay-backed candidate that may influence future KELLY work.",
      "required": true,
      "status": "linked_when_kelly_emits_receipt",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=weather-disaster%3Amemory"
    }
  ],
  "proofPresets": [
    {
      "id": "weather-disaster-preset-1",
      "title": "24-hour local hazard closure",
      "horizon": "Next 24 hours",
      "question": "What is the overall weather risk for my region over the next 24 hours?",
      "value": "Short-term proof that KELLY can track fast-changing reality from approved public feeds.",
      "signal": "NOAA/NWS alert, current observation, water/weather update, closure receipt",
      "artifact": "artifact pending until KELLY emits proof",
      "consumerTitle": "Today's weather near you",
      "consumerBlurb": "Rain, wind, and local risk for the next 24 hours — from NOAA and public feeds.",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=artifact%20pending%20until%20KELLY%20emits%20proof"
    },
    {
      "id": "weather-disaster-preset-2",
      "title": "Storm/flood watch",
      "horizon": "Next 2 weeks",
      "question": "Where is storm and flood risk strengthening over the next two weeks?",
      "value": "Medium-term proof that KELLY can connect geography, weather, hydrology, and source freshness.",
      "signal": "forecast shift, hydrology threshold, hazard source, replay trail",
      "artifact": "artifact pending until KELLY emits proof",
      "consumerTitle": "Storm & flood watch",
      "consumerBlurb": "Where heavy rain and flood risk may build over the next two weeks.",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=artifact%20pending%20until%20KELLY%20emits%20proof"
    },
    {
      "id": "weather-disaster-preset-3",
      "title": "Disaster pressure thesis",
      "horizon": "Next few months",
      "question": "Which regions show rising disaster pressure across weather, water, fire, and infrastructure signals?",
      "value": "Long-term proof that KELLY can remember recurring pressure and revise as reality changes.",
      "signal": "multi-source trend, contradiction checks, settlement and calibration",
      "artifact": "artifact pending until KELLY emits proof",
      "consumerTitle": "Long-range pressure",
      "consumerBlurb": "Regions where weather, water, and fire signals are trending worse over months.",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=artifact%20pending%20until%20KELLY%20emits%20proof"
    }
  ],
  "boundary": "This endpoint describes the proof spine this lens must expose. It does not create proof, write memory, mutate GraphState, or settle outcomes.",
  "generatedAt": "2026-07-08T03:59:00.427Z"
}