{
 "bytes": 909800201,
 "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-27/02/",
  "products": {
   "best_bid_ask": {
    "sha256": "d38ba0b5e6f273f878ed2909d291800a51270ffb5c46af2695a72b7e8d22838a"
   },
   "book": {
    "sha256": "87223a13e84ac92c41582f0c2dc79a3c1eb6fed89f339d7d295e5bb4393bba1b"
   },
   "last_trade_price": {
    "sha256": "fb6d9e5ceb1d078fc6e369ae7f9d6315773472e3667bc9c6a88763a379f1cb25"
   },
   "market_resolved": {
    "sha256": "7613b7db0bb7ce44332ec640e31ecb82c64604945f0f19793c4cb5a9336c7556"
   },
   "new_market": {
    "sha256": "d8994a5b4b160fa43f03bf5a8d87c5ef65c0e6189dc769bd0f130db252e4540e"
   },
   "price_change": {
    "sha256": "aded59abd719989d7bf147dbb3bfe6e10637c55f788f07d806dd4a29fab3916a"
   },
   "tick_size_change": {
    "sha256": "e77c6492ec0afeb2ae22dd853c5514d064d9ca62f6fae2f72848efe8aca08d05"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 179,
     "class": "FULL",
     "exception_markets": 20112,
     "rows_a": 9148461,
     "rows_b": 8714178,
     "rows_by_domain": {
      "a": 9148461,
      "b": 8714178,
      "c": 9543805,
      "h": 6438306
     },
     "rows_c": 9543805,
     "rows_h": 6438306,
     "rows_joined": 9544686,
     "rows_merged": 9544507
    },
    "book": {
     "boundary_dropped": 696,
     "class": "FULL",
     "exception_markets": 172941,
     "rows_a": 619716,
     "rows_b": 972355,
     "rows_by_domain": {
      "a": 619716,
      "b": 972355,
      "c": 269594,
      "h": 154092
     },
     "rows_c": 269594,
     "rows_h": 154092,
     "rows_joined": 1278568,
     "rows_merged": 1277872
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 1182,
     "rows_a": 63877,
     "rows_b": 60065,
     "rows_by_domain": {
      "a": 63877,
      "b": 60065,
      "c": 67086,
      "h": 40721
     },
     "rows_c": 67086,
     "rows_h": 40721,
     "rows_joined": 67143,
     "rows_merged": 67143
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "class": "PARTIAL",
     "exception_markets": 706,
     "rows_a": 689,
     "rows_b": 778,
     "rows_by_domain": {
      "a": 689,
      "b": 778,
      "c": 706,
      "h": 0
     },
     "rows_c": 706,
     "rows_h": 0,
     "rows_joined": 870,
     "rows_merged": 870
    },
    "new_market": {
     "boundary_dropped": 0,
     "class": "PARTIAL",
     "exception_markets": 678,
     "rows_a": 678,
     "rows_b": 695,
     "rows_by_domain": {
      "a": 678,
      "b": 695,
      "c": 678,
      "h": 0
     },
     "rows_c": 678,
     "rows_h": 0,
     "rows_joined": 922,
     "rows_merged": 922
    },
    "price_change": {
     "boundary_dropped": 1412,
     "class": "FULL",
     "exception_markets": 30490,
     "rows_a": 90143284,
     "rows_b": 85555190,
     "rows_by_domain": {
      "a": 90143284,
      "b": 85555190,
      "c": 94055116,
      "h": 61922236
     },
     "rows_c": 94055116,
     "rows_h": 61922236,
     "rows_joined": 94095050,
     "rows_merged": 94093638
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "class": "FULL",
     "exception_markets": 302,
     "rows_a": 2984,
     "rows_b": 2836,
     "rows_by_domain": {
      "a": 2984,
      "b": 2836,
      "c": 3044,
      "h": 1992
     },
     "rows_c": 3044,
     "rows_h": 1992,
     "rows_joined": 3044,
     "rows_merged": 3044
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 157498984,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-27/02/best_bid_ask.parquet",
     "max_sequence": 118219490270267511,
     "min_sequence": 5629500466168661,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 9544507,
     "sha256": "d38ba0b5e6f273f878ed2909d291800a51270ffb5c46af2695a72b7e8d22838a"
    },
    "book": {
     "byte_size": 88334463,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-27/02/book.parquet",
     "max_sequence": 118219490287596402,
     "min_sequence": 5629500466168927,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1277872,
     "sha256": "87223a13e84ac92c41582f0c2dc79a3c1eb6fed89f339d7d295e5bb4393bba1b"
    },
    "last_trade_price": {
     "byte_size": 4223763,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-27/02/last_trade_price.parquet",
     "max_sequence": 118219490282798356,
     "min_sequence": 5629500466170923,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 67143,
     "sha256": "fb6d9e5ceb1d078fc6e369ae7f9d6315773472e3667bc9c6a88763a379f1cb25"
    },
    "market_resolved": {
     "byte_size": 125077,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-27/02/market_resolved.parquet",
     "max_sequence": 118219490222799806,
     "min_sequence": 5629500467846343,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 870,
     "sha256": "7613b7db0bb7ce44332ec640e31ecb82c64604945f0f19793c4cb5a9336c7556"
    },
    "new_market": {
     "byte_size": 111989,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-27/02/new_market.parquet",
     "max_sequence": 118219490282846730,
     "min_sequence": 5629500466592572,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 922,
     "sha256": "d8994a5b4b160fa43f03bf5a8d87c5ef65c0e6189dc769bd0f130db252e4540e"
    },
    "price_change": {
     "byte_size": 1333770085,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-27/02/price_change.parquet",
     "max_sequence": 118219490289713806,
     "min_sequence": 5629500466168643,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 94093638,
     "sha256": "aded59abd719989d7bf147dbb3bfe6e10637c55f788f07d806dd4a29fab3916a"
    },
    "tick_size_change": {
     "byte_size": 123072,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-27/02/tick_size_change.parquet",
     "max_sequence": 49258121080899432,
     "min_sequence": 5629500467998590,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 3044,
     "sha256": "e77c6492ec0afeb2ae22dd853c5514d064d9ca62f6fae2f72848efe8aca08d05"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-27T02:00:00+00:00",
   "max_sequence": 118219490289713806,
   "min_sequence": 5629500466168643,
   "row_count": 104987996,
   "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-27T02.parquet",
 "hour": "2026-08-27/02",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    85138812
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 118219490270267511,
   "min_sequence": 5629500466168661,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 9544507,
   "row_groups": [
    0,
    36
   ],
   "sha256": "2b70035e2955bbd66c87d64c5ff04d7687308423892c84ff8a18943da797d34a"
  },
  "book": {
   "byte_range": [
    85138812,
    161600414
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 118219490287596402,
   "min_sequence": 5629500466168927,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1277872,
   "row_groups": [
    37,
    41
   ],
   "sha256": "b58063379d22bf5cf8c1a4c3696b8550bf47301b8c93827bb759feabfb22ea0f"
  },
  "last_trade_price": {
   "byte_range": [
    161600414,
    165090449
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 118219490282798356,
   "min_sequence": 5629500466170923,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 67143,
   "row_groups": [
    42,
    42
   ],
   "sha256": "14e31a3a3a83c1c459e266c609e34aee0dbb034a20af1627fd187618740cb731"
  },
  "market_resolved": {
   "byte_range": [
    165090449,
    165204313
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 118219490222799806,
   "min_sequence": 5629500467846343,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 870,
   "row_groups": [
    43,
    43
   ],
   "sha256": "17c91bb8041a035e7c6d757b4ab71a3569f3957926686126f855967f3bef129c"
  },
  "new_market": {
   "byte_range": [
    165204313,
    165304732
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 118219490282846730,
   "min_sequence": 5629500466592572,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 922,
   "row_groups": [
    44,
    44
   ],
   "sha256": "2d0ae9c175cf948b56f7f068c1575257c14163b0c3130c04907dcd007d40a683"
  },
  "price_change": {
   "byte_range": [
    165304732,
    908634361
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 118219490289713806,
   "min_sequence": 5629500466168643,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 94093638,
   "row_groups": [
    45,
    403
   ],
   "sha256": "71347ada5cb40e09e98ec87e235b965f14f39ed0231147dcc55c581a830fb4fd"
  },
  "tick_size_change": {
   "byte_range": [
    908634361,
    908740317
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 49258121080899432,
   "min_sequence": 5629500467998590,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 3044,
   "row_groups": [
    404,
    404
   ],
   "sha256": "b777a60e9e83184f4ea4660bb890fba44e6e5155c47acc8067f6f5166b9cfbcb"
  }
 },
 "row_count": 104987996,
 "sha256": "5954839e313bbb93bbd1c832b830a72dbce14368fe0e62ddf9fe863e09d0bbb5",
 "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"
 }
}