{
  "generatedAt": "2026-09-02T09:54:12.380Z",
  "lastAttemptAt": "2026-09-02T09:54:12.380Z",
  "question": "Is Polymarket calibrated? The price at a fixed lead before resolution against the outcome — a FACT, not advice. Snapshot: the YES token at 24h before closedTime; binary Yes/No; lifetime >= 3d; volume >= 25000.",
  "scan": {
    "degraded": false,
    "paginationComplete": true,
    "pagesFetched": 15,
    "pagesFailed": 0,
    "pageErrors": [],
    "generatedAtPreserved": false,
    "malformedArchiveLines": 0,
    "coverage": "complete sweep of the requested window (6m, up to 1500 markets): 15 pages."
  },
  "archiveSize": 964,
  "measuredRows": 964,
  "leadCoverage": {
    "total": 964,
    "verified": 964,
    "outOfTolerance": 0,
    "unverifiedLegacy": 0
  },
  "addedThisRun": 5,
  "leadOutOfWindowThisRun": 0,
  "scannedThisRun": 1500,
  "skips": {
    "dup": 959,
    "notBinary": 499,
    "shortLife": 13,
    "noPrice": 24,
    "badTime": 0
  },
  "brierScore": 0.0905,
  "calibrationCurve": [
    {
      "bucket": "0.0-0.1",
      "n": 496,
      "meanPrice": 0.0121,
      "empiricalYes": 0.0141,
      "ciLo": 0.0069,
      "ciHi": 0.0288,
      "gap": 0.002
    },
    {
      "bucket": "0.1-0.2",
      "n": 64,
      "meanPrice": 0.1468,
      "empiricalYes": 0.1406,
      "ciLo": 0.0758,
      "ciHi": 0.2462,
      "gap": -0.0062
    },
    {
      "bucket": "0.2-0.3",
      "n": 86,
      "meanPrice": 0.2496,
      "empiricalYes": 0.2558,
      "ciLo": 0.1754,
      "ciHi": 0.3571,
      "gap": 0.0062
    },
    {
      "bucket": "0.3-0.4",
      "n": 47,
      "meanPrice": 0.3523,
      "empiricalYes": 0.3617,
      "ciLo": 0.2397,
      "ciHi": 0.5046,
      "gap": 0.0094
    },
    {
      "bucket": "0.4-0.5",
      "n": 42,
      "meanPrice": 0.4425,
      "empiricalYes": 0.5952,
      "ciLo": 0.4449,
      "ciHi": 0.7296,
      "gap": 0.1527
    },
    {
      "bucket": "0.5-0.6",
      "n": 69,
      "meanPrice": 0.5502,
      "empiricalYes": 0.5797,
      "ciLo": 0.4621,
      "ciHi": 0.6889,
      "gap": 0.0295
    },
    {
      "bucket": "0.6-0.7",
      "n": 40,
      "meanPrice": 0.6428,
      "empiricalYes": 0.675,
      "ciLo": 0.5202,
      "ciHi": 0.7992,
      "gap": 0.0323
    },
    {
      "bucket": "0.7-0.8",
      "n": 35,
      "meanPrice": 0.7448,
      "empiricalYes": 0.8857,
      "ciLo": 0.7405,
      "ciHi": 0.9546,
      "gap": 0.1409
    },
    {
      "bucket": "0.8-0.9",
      "n": 20,
      "meanPrice": 0.8442,
      "empiricalYes": 0.75,
      "ciLo": 0.5313,
      "ciHi": 0.8881,
      "gap": -0.0942
    },
    {
      "bucket": "0.9-1.0",
      "n": 65,
      "meanPrice": 0.9868,
      "empiricalYes": 0.9846,
      "ciLo": 0.9179,
      "ciHi": 0.9973,
      "gap": -0.0021
    }
  ],
  "favoriteLongshot": {
    "longshotMeanGap": 0.0011,
    "longshotN": 560,
    "favoriteMeanGap": -0.0238,
    "favoriteN": 85
  },
  "caveats": [
    "Each row's leadHours is the REAL lead measured between the observed price (priceTs) and the close, not the requested constant. Rows outside the declared window [24h, 30h] are marked (leadWithinTolerance=false) and stay OUT of the measurement; older rows without priceTs count as unverified (leadCoverage.unverifiedLegacy).",
    "The snapshot is the YES token price 24h before closedTime — what the market 'thinks' close to resolution, which is the decision-relevant moment. The rule is uniform; a different lead would give a different curve.",
    "A descriptive FACT, not a forecast and not advice. The outcome is Gamma's final payout (outcomePrices); a split (0.5) is excluded.",
    "Coverage: markets with no retained CLOB history (older ones) or shorter than 3d of life stay out — see skips. The archive accumulates for future runs and cannot be backfilled.",
    "gap = empirical frequency minus the bucket mean price. A small cell has a wide Wilson interval — read the rank and the trend, never the isolated number.",
    "volume≥25000 filters noisy prices; thin markets still get in — volume is not a guarantee of depth."
  ]
}