{
 "bytes": 943502770,
 "derived_from": {
  "note": "Built by pendulumflow from its own canonical seven-file hour, which is unmodified and remains the source of record. Not upstream data.",
  "prefix": "merged-live/2026-08-20/10/",
  "products": {
   "best_bid_ask": {
    "sha256": "f6607b6b1f4acc560d3461c1145939fb82f57a6da3428dca9a4257530fe87d51"
   },
   "book": {
    "sha256": "4ef949f7ca55f7889dd5a6085665340ffd98a9dd65c9ff58d32ae0daff5b0c6e"
   },
   "last_trade_price": {
    "sha256": "63b8c9f87ab7b00970deed6c69ca74c7e344f26488f2870f935ce0e526589d35"
   },
   "market_resolved": {
    "sha256": "7c2000760fc6e9528f1290e63185e4f6350551e4c1208ebcc5db918288331ba6"
   },
   "new_market": {
    "sha256": "5f55968cc8d35e71f52eac04d5d92342628fef8205250348d922ada6bcc992f9"
   },
   "price_change": {
    "sha256": "17c02714fcd180b3126c491a7ebdec8ceeec16e1d877f3e1e7ab4ac17ec7e414"
   },
   "tick_size_change": {
    "sha256": "70c0d74a21f0203c5b0a8a055872ffd5b4df746599ec3929298011b59a09eb73"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 4,
     "rows_a": 8367595,
     "rows_b": 7620270,
     "rows_common": 7617111,
     "rows_merged": 8370750,
     "rows_only_a": 750484,
     "rows_only_b": 3159
    },
    "book": {
     "boundary_dropped": 6,
     "rows_a": 207159,
     "rows_b": 869899,
     "rows_common": 170934,
     "rows_merged": 906118,
     "rows_only_a": 36225,
     "rows_only_b": 698965
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "rows_a": 83277,
     "rows_b": 76398,
     "rows_common": 75910,
     "rows_merged": 83765,
     "rows_only_a": 7367,
     "rows_only_b": 488
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "rows_a": 759,
     "rows_b": 787,
     "rows_common": 647,
     "rows_merged": 899,
     "rows_only_a": 112,
     "rows_only_b": 140
    },
    "new_market": {
     "boundary_dropped": 0,
     "rows_a": 758,
     "rows_b": 891,
     "rows_common": 567,
     "rows_merged": 1082,
     "rows_only_a": 191,
     "rows_only_b": 324
    },
    "price_change": {
     "boundary_dropped": 202,
     "rows_a": 99994436,
     "rows_b": 92038724,
     "rows_common": 91696740,
     "rows_merged": 100336218,
     "rows_only_a": 8297696,
     "rows_only_b": 341984
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "rows_a": 3184,
     "rows_b": 2892,
     "rows_common": 2892,
     "rows_merged": 3184,
     "rows_only_a": 292,
     "rows_only_b": 0
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 77554795,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-20/10/best_bid_ask.parquet",
     "max_sequence": 23643898118005389,
     "min_sequence": 20829151622297104,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 8370750,
     "sha256": "f6607b6b1f4acc560d3461c1145939fb82f57a6da3428dca9a4257530fe87d51"
    },
    "book": {
     "byte_size": 61697025,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-20/10/book.parquet",
     "max_sequence": 23643898118003243,
     "min_sequence": 20829151622441673,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 906118,
     "sha256": "4ef949f7ca55f7889dd5a6085665340ffd98a9dd65c9ff58d32ae0daff5b0c6e"
    },
    "last_trade_price": {
     "byte_size": 4175508,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-20/10/last_trade_price.parquet",
     "max_sequence": 23643898117998755,
     "min_sequence": 20829151625429640,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 83765,
     "sha256": "63b8c9f87ab7b00970deed6c69ca74c7e344f26488f2870f935ce0e526589d35"
    },
    "market_resolved": {
     "byte_size": 115389,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-20/10/market_resolved.parquet",
     "max_sequence": 23643898117942214,
     "min_sequence": 20829151638818131,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 899,
     "sha256": "7c2000760fc6e9528f1290e63185e4f6350551e4c1208ebcc5db918288331ba6"
    },
    "new_market": {
     "byte_size": 105698,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-20/10/new_market.parquet",
     "max_sequence": 23643898116098905,
     "min_sequence": 20829151622260134,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1082,
     "sha256": "5f55968cc8d35e71f52eac04d5d92342628fef8205250348d922ada6bcc992f9"
    },
    "price_change": {
     "byte_size": 805367781,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-20/10/price_change.parquet",
     "max_sequence": 23643898118005431,
     "min_sequence": 20829151622441680,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 100336218,
     "sha256": "17c02714fcd180b3126c491a7ebdec8ceeec16e1d877f3e1e7ab4ac17ec7e414"
    },
    "tick_size_change": {
     "byte_size": 97959,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-20/10/tick_size_change.parquet",
     "max_sequence": 23643898117880321,
     "min_sequence": 20829151644311519,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 3184,
     "sha256": "70c0d74a21f0203c5b0a8a055872ffd5b4df746599ec3929298011b59a09eb73"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-20T10:00:00+00:00",
   "max_sequence": 23643898118005431,
   "min_sequence": 20829151622260134,
   "row_count": 109702016,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
   "witnesses": "ab"
  }
 },
 "file": "2026-08-20T10.parquet",
 "hour": "2026-08-20/10",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    78059115
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 23643898118005389,
   "min_sequence": 20829151622297104,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 8370750,
   "row_groups": [
    0,
    31
   ],
   "sha256": "92a3a43b4c16074aab94806750491eaf9d68401c4ca7f3e1f7ad6ee9a9230440"
  },
  "book": {
   "byte_range": [
    78059115,
    145407203
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 23643898118003243,
   "min_sequence": 20829151622441673,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 906118,
   "row_groups": [
    32,
    35
   ],
   "sha256": "c617a7a1fcd752982c34b09b7789bedfcb8cd462cedd13acb8ba28ce44cadbb2"
  },
  "last_trade_price": {
   "byte_range": [
    145407203,
    149740985
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 23643898117998755,
   "min_sequence": 20829151625429640,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 83765,
   "row_groups": [
    36,
    36
   ],
   "sha256": "80b297192be6fd862ac3bad05eb25c7dede28a0a07c089a1ebb5f76335c3a9f5"
  },
  "market_resolved": {
   "byte_range": [
    149740985,
    149862672
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 23643898117942214,
   "min_sequence": 20829151638818131,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 899,
   "row_groups": [
    37,
    37
   ],
   "sha256": "12c8b42b8fb6207e8ca37030986f09cbc4eafab0de08b87a7af695f1ce43d4f1"
  },
  "new_market": {
   "byte_range": [
    149862672,
    149973868
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 23643898116098905,
   "min_sequence": 20829151622260134,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1082,
   "row_groups": [
    38,
    38
   ],
   "sha256": "2edac396c937ed4830250307a7a3a99a49db04674851184fdfbb49e72c22007b"
  },
  "price_change": {
   "byte_range": [
    149973868,
    942285499
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 23643898118005431,
   "min_sequence": 20829151622441680,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 100336218,
   "row_groups": [
    39,
    421
   ],
   "sha256": "8766e54bf1c2dc9680f67a8605192efeff866543dc56df7704e2d2b4eed842af"
  },
  "tick_size_change": {
   "byte_range": [
    942285499,
    942395395
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 23643898117880321,
   "min_sequence": 20829151644311519,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 3184,
   "row_groups": [
    422,
    422
   ],
   "sha256": "e3a2be5a037c1d1738d9ec63b413eb35f12800c01bc65ed94838262b2a9a26e5"
  }
 },
 "row_count": 109702016,
 "sha256": "a8a2c4cc59192128a8c24eaf2a0308e5a96d3a050758f912ae9c5cef58a7e4b7",
 "verification": {
  "note": "A range digest certifies BYTES. That those bytes are that product comes from this manifest and is cross-checkable against the Parquet footer, which is inside the whole-file sha256.",
  "primary": "sha256sum <file> == .sha256",
  "secondary": "curl -r <start>-<end-1> <url> | sha256sum == .products.<name>.sha256"
 }
}