{
  "ok": true,
  "schema": "kelly-lens-artifact-spine-v1",
  "lensId": "betting-odds",
  "service": "Betting and Odds Lab",
  "readOnly": true,
  "publicMutationAllowed": false,
  "publicUserWriteAllowed": false,
  "groundTruthWriteAllowed": false,
  "glassLabArtifactBase": "https://glass-lab.up.railway.app?artifact=betting-odds",
  "forecastShowcaseUrl": "/api/kelly/forecast-showcase",
  "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=betting-odds%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=betting-odds%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=betting-odds%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=betting-odds%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=betting-odds%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=betting-odds%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=betting-odds%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=betting-odds%3Amemory"
    }
  ],
  "proofPresets": [
    {
      "id": "betting-odds-preset-1",
      "title": "24-hour line movement proof",
      "horizon": "24 hours",
      "question": "Which monitored odds line is most likely to move materially before close?",
      "value": "Short-term proof that KELLY can spot source pressure before reality settles.",
      "signal": "opening line, closing line, injury/news source, final result, calibration",
      "artifact": "artifact pending until KELLY emits proof",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=artifact%20pending%20until%20KELLY%20emits%20proof"
    },
    {
      "id": "betting-odds-preset-2",
      "title": "Market-vs-KELLY divergence",
      "horizon": "7-30 days",
      "question": "Where does public market belief diverge most from KELLY's evidence chain?",
      "value": "Medium-term proof that KELLY can separate consensus from causal evidence.",
      "signal": "odds drift, source receipts, KELLY forecast delta, settled outcome",
      "artifact": "artifact pending until KELLY emits proof",
      "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=artifact%20pending%20until%20KELLY%20emits%20proof"
    },
    {
      "id": "betting-odds-preset-3",
      "title": "Calibration edge watch",
      "horizon": "season / long arc",
      "question": "Does KELLY stay better calibrated than market confidence over repeated settlements?",
      "value": "Long-term proof that KELLY improves by tracking reality, not by sounding confident.",
      "signal": "Brier trend, settlement receipts, replayable calibration trail",
      "artifact": "artifact pending until KELLY emits proof",
      "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-08T07:05:09.684Z"
}