{
  "ok": true,
  "schema": "kelly-sector-lab-window-v1",
  "lensId": "betting-odds",
  "service": "Betting and Odds Lab",
  "shortName": "Odds Lab",
  "accent": "#f6b73c",
  "domain": "odds, implied probability, event settlement, and calibration",
  "positioning": "A professional KELLY lens for watching high-value odds forecasts close against reality.",
  "userPromise": "Compare market-implied probability, KELLY's evidence posture, reality settlement, and calibration without letting public users write ground truth.",
  "kellyEdge": "KELLY separates market price, evidence, causal pressure, settlement, and calibration so a forecast can be replayed instead of hand-waved.",
  "profile": {
    "windowLabel": "Probability bench",
    "windowRole": "Odds, implied-probability, settlement, and calibration processor",
    "workflowTitle": "Prices, evidence, and settlement stay separate",
    "pulseTitle": "Line and settlement pulse",
    "askTitle": "Ask about a market probability",
    "questionLabel": "Odds, event, or calibration question",
    "evidenceLabel": "Probability evidence",
    "evidenceTitle": "Lines, implied probability, KELLY divergence, and calibration",
    "sourceTitle": "Probability inputs",
    "outputTitle": "Odds outputs",
    "objectTitle": "Objects on the bench",
    "receiptTitle": "Required receipts",
    "stageLabels": [
      "line",
      "imply",
      "settle",
      "calibrate"
    ],
    "operatorObjects": [
      "market_line",
      "implied_probability",
      "kelly_probability",
      "settled_outcome"
    ],
    "receiptObjects": [
      "line_receipt",
      "source_receipt",
      "settlement_receipt",
      "calibration_receipt"
    ],
    "askBoundary": "This window is a probability and proof interface only. It is not betting, gambling, financial, or investment advice."
  },
  "canonicalPostgres": "Use canonical KELLY Neon/Postgres for odds_observations, implied_probability_history, divergence_cards, settlement_receipts, calibration_scores, and replay state.",
  "objectStorage": "Use R2/object storage for immutable odds snapshots, source packets, settlement bundles, and calibration/replay receipts.",
  "volumePolicy": "No independent source-of-truth volume. A local cache is allowed only for rebuildable odds/history acceleration.",
  "operatorQuestion": "Which monitored odds line is most likely to move materially before close?",
  "primaryProofTarget": "24-hour line movement proof",
  "primaryHorizon": "24 hours",
  "primarySignal": "opening line, closing line, injury/news source, final result, calibration",
  "pipeline": [
    "Read approved odds, schedule, injury/news, market, and settlement sources without treating prices as truth.",
    "Separate market-implied probability, KELLY evidence posture, causal pressure, uncertainty, and line movement.",
    "Emit divergence cards, closing-line watches, settlement receipts, calibration deltas, and replay packets.",
    "Route closed outcomes through Brier/calibration scoring and memory-lineage review before durable learning."
  ],
  "outputs": [
    "implied_probability_cards",
    "market_kelly_divergence_receipts",
    "closing_line_watch",
    "settlement_receipts",
    "calibration_replay_packets"
  ],
  "runtimeRoutes": [
    {
      "label": "Glass Lab live snapshot",
      "url": "https://www.causalea.com/api/glass-lab/live-snapshot"
    },
    {
      "label": "Public proof map",
      "url": "https://www.causalea.com/api/public-proof-map"
    },
    {
      "label": "Causal health",
      "url": "https://www.causalea.com/api/runtime/causal-health"
    },
    {
      "label": "Public KELLY activity",
      "url": "https://www.causalea.com/api/public-kelly-activity"
    }
  ],
  "sources": [
    "The Odds API",
    "official league schedules and results",
    "settlement feeds",
    "KELLY replay receipts",
    "calibration history"
  ],
  "proofPoints": [
    "Market odds and KELLY forecast stay separate.",
    "Every settled outcome needs a source receipt.",
    "Calibration matters more than confident language.",
    "Public users inspect and ask; they do not write ground truth."
  ],
  "humanAudit": {
    "plainPurpose": "This window shows what KELLY is doing in Odds Lab: what it is reading, what it thinks might matter, what proof exists, and what is still waiting.",
    "howToAudit": [
      "Read the answer in this lab first.",
      "Open the proof shelf or JSON packet for the evidence behind it.",
      "Check the route status and last-checked timestamp before trusting freshness.",
      "Look for the mind-changer: the fact that would make KELLY revise the answer.",
      "If evidence is waiting, treat the output as a question or watch item, not a settled answer."
    ],
    "evidenceStatus": "Live evidence appears only when KELLY exposes proof-linked sector output. Empty states are intentional waiting states, not filler.",
    "mindChanger": "New approved evidence, a falsifier, settlement, replay drift, calibration movement, or memory-lineage revision.",
    "writeBoundary": "This lab communicates with KELLY as an inspection window. It cannot write ground truth, memory, GraphState, provider state, or reality receipts."
  },
  "tracks": [
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    }
  ],
  "readOnly": true,
  "publicMutationAllowed": false,
  "publicUserWriteAllowed": false,
  "groundTruthWriteAllowed": false,
  "glassLabArtifactUrl": "https://glass-lab.up.railway.app?artifact=betting-odds",
  "localAskEndpoint": "/api/lens-ask-kelly",
  "labWindowEndpoint": "/api/lab-window",
  "labWindowPulseEndpoint": "/api/lab-window/pulse",
  "artifactSpineEndpoint": "/api/lens-artifact-spine",
  "pulseEndpoint": "/api/lab-window/pulse",
  "generatedAt": "2026-07-08T07:06:45.573Z"
}