{
 "bytes": 914353240,
 "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-26/22/",
  "products": {
   "best_bid_ask": {
    "sha256": "166c9f8d8d8b8162f402c7319ca910720741148ba40cded1208a79bc35b4fb13"
   },
   "book": {
    "sha256": "bb3b1ff30f00c1e2e8c1de5f663e9fe85c2e4f61eab06161a371f1e3530e14e2"
   },
   "last_trade_price": {
    "sha256": "b8e4f686ed90bed6c13a949f72febe59ffc048bc5541bacb9d17a006602a83d9"
   },
   "market_resolved": {
    "sha256": "0befb231ea22157b677331251f5c2dabdc157768f3bb66f298daa2c62bb235a3"
   },
   "new_market": {
    "sha256": "69f6a435d800433c38fbe33c750aac0ac9ca8c3345f463830e45ba09c166a808"
   },
   "price_change": {
    "sha256": "b6cb133922ed36645265ee2ec1ef07524b897d41f2fcada2c9ad86859e111382"
   },
   "tick_size_change": {
    "sha256": "ac36ed64e0461ab213f5a700608fb5d66af43af1cad933316546ec037ff3aedc"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 181,
     "class": "FULL",
     "exception_markets": 26582,
     "rows_a": 8210211,
     "rows_b": 7153089,
     "rows_by_domain": {
      "a": 8210211,
      "b": 7153089,
      "c": 8572300,
      "h": 5870218
     },
     "rows_c": 8572300,
     "rows_h": 5870218,
     "rows_joined": 8573116,
     "rows_merged": 8572935
    },
    "book": {
     "boundary_dropped": 30,
     "class": "FULL",
     "exception_markets": 173913,
     "rows_a": 576984,
     "rows_b": 1779887,
     "rows_by_domain": {
      "a": 576984,
      "b": 1779887,
      "c": 237434,
      "h": 137281
     },
     "rows_c": 237434,
     "rows_h": 137281,
     "rows_joined": 2029384,
     "rows_merged": 2029354
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 1219,
     "rows_a": 68154,
     "rows_b": 58268,
     "rows_by_domain": {
      "a": 68154,
      "b": 58268,
      "c": 71458,
      "h": 45104
     },
     "rows_c": 71458,
     "rows_h": 45104,
     "rows_joined": 71478,
     "rows_merged": 71478
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 1531,
     "rows_a": 1574,
     "rows_b": 2157,
     "rows_by_domain": {
      "a": 1574,
      "b": 2157,
      "c": 1564,
      "h": 33
     },
     "rows_c": 1564,
     "rows_h": 33,
     "rows_joined": 2444,
     "rows_merged": 2444
    },
    "new_market": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 798,
     "rows_a": 1330,
     "rows_b": 1645,
     "rows_by_domain": {
      "a": 1330,
      "b": 1645,
      "c": 1330,
      "h": 667
     },
     "rows_c": 1330,
     "rows_h": 667,
     "rows_joined": 2438,
     "rows_merged": 2438
    },
    "price_change": {
     "boundary_dropped": 2262,
     "class": "FULL",
     "exception_markets": 39648,
     "rows_a": 89369663,
     "rows_b": 77789014,
     "rows_by_domain": {
      "a": 89369663,
      "b": 77789014,
      "c": 93326166,
      "h": 64141974
     },
     "rows_c": 93326166,
     "rows_h": 64141974,
     "rows_joined": 93396376,
     "rows_merged": 93394114
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 266,
     "rows_a": 2852,
     "rows_b": 2640,
     "rows_by_domain": {
      "a": 2852,
      "b": 2640,
      "c": 2944,
      "h": 2068
     },
     "rows_c": 2944,
     "rows_h": 2068,
     "rows_joined": 2944,
     "rows_merged": 2944
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 142181387,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-26/22/best_bid_ask.parquet",
     "max_sequence": 113997365590417681,
     "min_sequence": 5629500046076962,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 8572935,
     "sha256": "166c9f8d8d8b8162f402c7319ca910720741148ba40cded1208a79bc35b4fb13"
    },
    "book": {
     "byte_size": 106349763,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-26/22/book.parquet",
     "max_sequence": 113997365588897647,
     "min_sequence": 5629500046089015,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2029354,
     "sha256": "bb3b1ff30f00c1e2e8c1de5f663e9fe85c2e4f61eab06161a371f1e3530e14e2"
    },
    "last_trade_price": {
     "byte_size": 4484396,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-26/22/last_trade_price.parquet",
     "max_sequence": 113997365584326788,
     "min_sequence": 5629500046093681,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 71478,
     "sha256": "b8e4f686ed90bed6c13a949f72febe59ffc048bc5541bacb9d17a006602a83d9"
    },
    "market_resolved": {
     "byte_size": 275733,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-26/22/market_resolved.parquet",
     "max_sequence": 113997365571055376,
     "min_sequence": 5629500050912288,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2444,
     "sha256": "0befb231ea22157b677331251f5c2dabdc157768f3bb66f298daa2c62bb235a3"
    },
    "new_market": {
     "byte_size": 230581,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-26/22/new_market.parquet",
     "max_sequence": 113997365588274929,
     "min_sequence": 5629500046728167,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2438,
     "sha256": "69f6a435d800433c38fbe33c750aac0ac9ca8c3345f463830e45ba09c166a808"
    },
    "price_change": {
     "byte_size": 1330682465,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-26/22/price_change.parquet",
     "max_sequence": 113997365590549374,
     "min_sequence": 5629500046076960,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 93394114,
     "sha256": "b6cb133922ed36645265ee2ec1ef07524b897d41f2fcada2c9ad86859e111382"
    },
    "tick_size_change": {
     "byte_size": 118930,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-26/22/tick_size_change.parquet",
     "max_sequence": 48976646029769011,
     "min_sequence": 5629500049402351,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2944,
     "sha256": "ac36ed64e0461ab213f5a700608fb5d66af43af1cad933316546ec037ff3aedc"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-26T22:00:00+00:00",
   "max_sequence": 113997365590549374,
   "min_sequence": 5629500046076960,
   "row_count": 104075707,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; where domains carry the same row, the merge keeps the LAST ACTIVE domain's values -- for this hour, domain h (active: a, b, c, h)",
   "witnesses": "abch"
  }
 },
 "file": "2026-08-26T22.parquet",
 "hour": "2026-08-26/22",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    77978782
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 113997365590417681,
   "min_sequence": 5629500046076962,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 8572935,
   "row_groups": [
    0,
    32
   ],
   "sha256": "f9b6d30618ea49e56cc8bce7e800ad82e41a4dc3fbc3959280238ae7bb09daea"
  },
  "book": {
   "byte_range": [
    77978782,
    165927073
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 113997365588897647,
   "min_sequence": 5629500046089015,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2029354,
   "row_groups": [
    33,
    40
   ],
   "sha256": "0e73e644e65f1a819bb06d775803eb38374e9c1366e39f80f033b4d9d4f8568c"
  },
  "last_trade_price": {
   "byte_range": [
    165927073,
    169656602
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 113997365584326788,
   "min_sequence": 5629500046093681,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 71478,
   "row_groups": [
    41,
    41
   ],
   "sha256": "a982b04eb971cfc55fdd30e43301f0ebe527e346c127dd76a054dd4dc1aa23c5"
  },
  "market_resolved": {
   "byte_range": [
    169656602,
    169907695
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 113997365571055376,
   "min_sequence": 5629500050912288,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2444,
   "row_groups": [
    42,
    42
   ],
   "sha256": "2ab7870b015cc46cb8a87023e321b3756c9eaf5e45a6be35c10d9f1e250a0a9e"
  },
  "new_market": {
   "byte_range": [
    169907695,
    170115615
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 113997365588274929,
   "min_sequence": 5629500046728167,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2438,
   "row_groups": [
    43,
    43
   ],
   "sha256": "dc7d0d08d4a61bc09675463f7b65197aab7c10987979b58de917f8dd264e2eb8"
  },
  "price_change": {
   "byte_range": [
    170115615,
    913198870
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 113997365590549374,
   "min_sequence": 5629500046076960,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 93394114,
   "row_groups": [
    44,
    400
   ],
   "sha256": "0b0a00aca0f26ec78f5cdbe45dfa0fe7712723e1b47c1845658718204e15cce4"
  },
  "tick_size_change": {
   "byte_range": [
    913198870,
    913300853
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 48976646029769011,
   "min_sequence": 5629500049402351,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2944,
   "row_groups": [
    401,
    401
   ],
   "sha256": "68e6b0dff9946a2c8ada924ebf8ad27362090953b63f7cd3cfdf95477b135ccf"
  }
 },
 "row_count": 104075707,
 "sha256": "a7b800add2cc9a5e36818ad96a2eab18822f9d7de4d849e773b6090eb90daad8",
 "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"
 }
}