{
 "bytes": 757983494,
 "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-22/21/",
  "products": {
   "best_bid_ask": {
    "sha256": "b3e4019d32b4c7989cc71016924d8dd9a27548c3e4078ff563612efcbb1283ce"
   },
   "book": {
    "sha256": "ce5c7d82d800c363d6616d3f3811605974daaad5d1b5370319cd857000f101c0"
   },
   "last_trade_price": {
    "sha256": "dbd50eb2e730c83276f657f895d259f67a91e63a98f0b0f0333776ad72de2fde"
   },
   "market_resolved": {
    "sha256": "3a6dc447fbeb32e10c573579c9470c7a74d8e079072b7ce836eead0fd0d8523e"
   },
   "new_market": {
    "sha256": "4621eec12bdbcb020d83f52781eccf34944ad46095e1f1312a7ef005b5f43691"
   },
   "price_change": {
    "sha256": "29d9261a6a327429a10244baa58bc5f9b75ac53b7823e67370202226aac3f079"
   },
   "tick_size_change": {
    "sha256": "6ee274b508f62c854a120683283b57bc16aba0f4eab64ac2d0b8b9c7171b235f"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 12,
     "rows_a": 8918928,
     "rows_b": 8554996,
     "rows_common": 8553910,
     "rows_merged": 8920002,
     "rows_only_a": 365018,
     "rows_only_b": 1086
    },
    "book": {
     "boundary_dropped": 8,
     "rows_a": 167004,
     "rows_b": 477070,
     "rows_common": 139445,
     "rows_merged": 504621,
     "rows_only_a": 27559,
     "rows_only_b": 337625
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "rows_a": 64096,
     "rows_b": 61682,
     "rows_common": 61622,
     "rows_merged": 64156,
     "rows_only_a": 2474,
     "rows_only_b": 60
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "rows_a": 2698,
     "rows_b": 2707,
     "rows_common": 2585,
     "rows_merged": 2820,
     "rows_only_a": 113,
     "rows_only_b": 122
    },
    "new_market": {
     "boundary_dropped": 0,
     "rows_a": 1557,
     "rows_b": 1585,
     "rows_common": 1070,
     "rows_merged": 2072,
     "rows_only_a": 487,
     "rows_only_b": 515
    },
    "price_change": {
     "boundary_dropped": 162,
     "rows_a": 78623758,
     "rows_b": 75256507,
     "rows_common": 75227339,
     "rows_merged": 78652764,
     "rows_only_a": 3396419,
     "rows_only_b": 29168
    },
    "tick_size_change": {
     "boundary_dropped": 8,
     "rows_a": 4452,
     "rows_b": 4336,
     "rows_common": 4328,
     "rows_merged": 4452,
     "rows_only_a": 124,
     "rows_only_b": 8
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 78730170,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-22/21/best_bid_ask.parquet",
     "max_sequence": 60798595033882107,
     "min_sequence": 39969446763285866,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 8920002,
     "sha256": "b3e4019d32b4c7989cc71016924d8dd9a27548c3e4078ff563612efcbb1283ce"
    },
    "book": {
     "byte_size": 45167508,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-22/21/book.parquet",
     "max_sequence": 60798595033880822,
     "min_sequence": 39969446763285860,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 504621,
     "sha256": "ce5c7d82d800c363d6616d3f3811605974daaad5d1b5370319cd857000f101c0"
    },
    "last_trade_price": {
     "byte_size": 3292121,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-22/21/last_trade_price.parquet",
     "max_sequence": 60798595033880847,
     "min_sequence": 39969446763136953,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 64156,
     "sha256": "dbd50eb2e730c83276f657f895d259f67a91e63a98f0b0f0333776ad72de2fde"
    },
    "market_resolved": {
     "byte_size": 397723,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-22/21/market_resolved.parquet",
     "max_sequence": 60798595033830911,
     "min_sequence": 39969446782941015,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2820,
     "sha256": "3a6dc447fbeb32e10c573579c9470c7a74d8e079072b7ce836eead0fd0d8523e"
    },
    "new_market": {
     "byte_size": 211049,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-22/21/new_market.parquet",
     "max_sequence": 60798595032738743,
     "min_sequence": 39969446763391760,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2072,
     "sha256": "4621eec12bdbcb020d83f52781eccf34944ad46095e1f1312a7ef005b5f43691"
    },
    "price_change": {
     "byte_size": 630837110,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-22/21/price_change.parquet",
     "max_sequence": 60798595033882124,
     "min_sequence": 39969446762998225,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 78652764,
     "sha256": "29d9261a6a327429a10244baa58bc5f9b75ac53b7823e67370202226aac3f079"
    },
    "tick_size_change": {
     "byte_size": 136044,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-22/21/tick_size_change.parquet",
     "max_sequence": 60798595033671952,
     "min_sequence": 39969446784743521,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 4452,
     "sha256": "6ee274b508f62c854a120683283b57bc16aba0f4eab64ac2d0b8b9c7171b235f"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-22T21:00:00+00:00",
   "max_sequence": 60798595033882124,
   "min_sequence": 39969446762998225,
   "row_count": 88150887,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
   "witnesses": "ab"
  }
 },
 "file": "2026-08-22T21.parquet",
 "hour": "2026-08-22/21",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    77740787
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 60798595033882107,
   "min_sequence": 39969446763285866,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 8920002,
   "row_groups": [
    0,
    34
   ],
   "sha256": "3647e62ef8a90664cacab59049a37579befda4f8dc99bf425136657ab939ba88"
  },
  "book": {
   "byte_range": [
    77740787,
    128064547
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 60798595033880822,
   "min_sequence": 39969446763285860,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 504621,
   "row_groups": [
    35,
    36
   ],
   "sha256": "eefd4b2e10c69c3b9a22b16913dc27deb9da2466303f44dbe3f16c870e16235d"
  },
  "last_trade_price": {
   "byte_range": [
    128064547,
    131450599
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 60798595033880847,
   "min_sequence": 39969446763136953,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 64156,
   "row_groups": [
    37,
    37
   ],
   "sha256": "42af292c43651c7aee743287facc4edc95d0fb48154adea0ac3fdead0405f26f"
  },
  "market_resolved": {
   "byte_range": [
    131450599,
    131873645
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 60798595033830911,
   "min_sequence": 39969446782941015,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2820,
   "row_groups": [
    38,
    38
   ],
   "sha256": "71f839c98f6ab1912a0471bc50c00d3b000132909e089fc564c144e50aa02d16"
  },
  "new_market": {
   "byte_range": [
    131873645,
    132097725
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 60798595032738743,
   "min_sequence": 39969446763391760,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2072,
   "row_groups": [
    39,
    39
   ],
   "sha256": "980e00941cb1b27814f4589c2033044de8b5c0871f6e5bb3837214a59471bfe0"
  },
  "price_change": {
   "byte_range": [
    132097725,
    756935895
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 60798595033882124,
   "min_sequence": 39969446762998225,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 78652764,
   "row_groups": [
    40,
    340
   ],
   "sha256": "75f90c66a86020e5e91eaa84dac3f2cf58fd52b4db0e13584a3920ff13050b42"
  },
  "tick_size_change": {
   "byte_range": [
    756935895,
    757088822
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 60798595033671952,
   "min_sequence": 39969446784743521,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 4452,
   "row_groups": [
    341,
    341
   ],
   "sha256": "371ef8956a277228279ad0e53fae28d07d3ffaaedcac7768d32ffa4048c22fed"
  }
 },
 "row_count": 88150887,
 "sha256": "adb8b24783f321b6b43da86103d781860d59a7936ec614b484ceca2e8599732a",
 "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"
 }
}