{
 "bytes": 849156492,
 "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-21/20/",
  "products": {
   "best_bid_ask": {
    "sha256": "befe803ba89409c50dbe14599f351892523a69f13cc68e7c0b1a731a6052beab"
   },
   "book": {
    "sha256": "dc178211b1750a3b0b7293218672edc7d544434a9ba711b7d3ba547dc4a699bf"
   },
   "last_trade_price": {
    "sha256": "b8cc0122fbb4d45cafe8963f8c0c7966a9a1a5cb4bb19ee86cc4e5df04dbcd73"
   },
   "market_resolved": {
    "sha256": "7b99ff5445c8eee87f976e218f890a302e12092b78db07e0116812df142a2b74"
   },
   "new_market": {
    "sha256": "ee0eaa692bb6a8fed6c07f85521ec135e1b399d5045ed41ab4555a278e7821c5"
   },
   "price_change": {
    "sha256": "8e6eb4edf068c511dd74c3a208cc46ced75bdefd5f57b96090af0c23d422d2c6"
   },
   "tick_size_change": {
    "sha256": "d71717b3d3dbea1e19e4b6424d94d2c7fcc2bade6412e0084955a648953bebf1"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 49,
     "rows_a": 6706053,
     "rows_b": 6232127,
     "rows_common": 5923659,
     "rows_merged": 7014472,
     "rows_only_a": 782394,
     "rows_only_b": 308468
    },
    "book": {
     "boundary_dropped": 20,
     "rows_a": 618147,
     "rows_b": 1239233,
     "rows_common": 305990,
     "rows_merged": 1551370,
     "rows_only_a": 312157,
     "rows_only_b": 933243
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "rows_a": 73252,
     "rows_b": 66111,
     "rows_common": 62949,
     "rows_merged": 76414,
     "rows_only_a": 10303,
     "rows_only_b": 3162
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "rows_a": 1537,
     "rows_b": 1478,
     "rows_common": 1352,
     "rows_merged": 1663,
     "rows_only_a": 185,
     "rows_only_b": 126
    },
    "new_market": {
     "boundary_dropped": 0,
     "rows_a": 1995,
     "rows_b": 2084,
     "rows_common": 1432,
     "rows_merged": 2647,
     "rows_only_a": 563,
     "rows_only_b": 652
    },
    "price_change": {
     "boundary_dropped": 330,
     "rows_a": 81230064,
     "rows_b": 75381380,
     "rows_common": 71547762,
     "rows_merged": 85063352,
     "rows_only_a": 9682302,
     "rows_only_b": 3833618
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "rows_a": 5020,
     "rows_b": 4728,
     "rows_common": 4532,
     "rows_merged": 5216,
     "rows_only_a": 488,
     "rows_only_b": 196
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 71584282,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-21/20/best_bid_ask.parquet",
     "max_sequence": 47287796098325874,
     "min_sequence": 33214047314612306,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 7014472,
     "sha256": "befe803ba89409c50dbe14599f351892523a69f13cc68e7c0b1a731a6052beab"
    },
    "book": {
     "byte_size": 79213229,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-21/20/book.parquet",
     "max_sequence": 47287796098323591,
     "min_sequence": 33214047314440334,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1551370,
     "sha256": "dc178211b1750a3b0b7293218672edc7d544434a9ba711b7d3ba547dc4a699bf"
    },
    "last_trade_price": {
     "byte_size": 3897452,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-21/20/last_trade_price.parquet",
     "max_sequence": 47287796098325406,
     "min_sequence": 33214047314412635,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 76414,
     "sha256": "b8cc0122fbb4d45cafe8963f8c0c7966a9a1a5cb4bb19ee86cc4e5df04dbcd73"
    },
    "market_resolved": {
     "byte_size": 228160,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-21/20/market_resolved.parquet",
     "max_sequence": 47287796097343203,
     "min_sequence": 33214047330509582,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1663,
     "sha256": "7b99ff5445c8eee87f976e218f890a302e12092b78db07e0116812df142a2b74"
    },
    "new_market": {
     "byte_size": 280240,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-21/20/new_market.parquet",
     "max_sequence": 47287796098142113,
     "min_sequence": 33214047314856481,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2647,
     "sha256": "ee0eaa692bb6a8fed6c07f85521ec135e1b399d5045ed41ab4555a278e7821c5"
    },
    "price_change": {
     "byte_size": 702002814,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-21/20/price_change.parquet",
     "max_sequence": 47287796098325902,
     "min_sequence": 33214047314611931,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 85063352,
     "sha256": "8e6eb4edf068c511dd74c3a208cc46ced75bdefd5f57b96090af0c23d422d2c6"
    },
    "tick_size_change": {
     "byte_size": 158963,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-21/20/tick_size_change.parquet",
     "max_sequence": 47287796098281347,
     "min_sequence": 33214047328239024,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 5216,
     "sha256": "d71717b3d3dbea1e19e4b6424d94d2c7fcc2bade6412e0084955a648953bebf1"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-21T20:00:00+00:00",
   "max_sequence": 47287796098325902,
   "min_sequence": 33214047314412635,
   "row_count": 93715134,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
   "witnesses": "ab"
  }
 },
 "file": "2026-08-21T20.parquet",
 "hour": "2026-08-21/20",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    71568413
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 47287796098325874,
   "min_sequence": 33214047314612306,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 7014472,
   "row_groups": [
    0,
    26
   ],
   "sha256": "39afd27adad9f26a5772a4cd53ac38d6c53c6ad24029a700916ab096a2364c82"
  },
  "book": {
   "byte_range": [
    71568413,
    157471378
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 47287796098323591,
   "min_sequence": 33214047314440334,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1551370,
   "row_groups": [
    27,
    32
   ],
   "sha256": "7975fa30a16205cc9a59a0e497b933c21ad2d7d9d3897c4fb1b97e48b54732bd"
  },
  "last_trade_price": {
   "byte_range": [
    157471378,
    161461549
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 47287796098325406,
   "min_sequence": 33214047314412635,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 76414,
   "row_groups": [
    33,
    33
   ],
   "sha256": "f48c4400a68ea03a0c35f42e249d5c03bf54497ffe118c09ac476488c5aa560c"
  },
  "market_resolved": {
   "byte_range": [
    161461549,
    161718125
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 47287796097343203,
   "min_sequence": 33214047330509582,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1663,
   "row_groups": [
    34,
    34
   ],
   "sha256": "fed060b96c4da59db45aa5afa277fe120848742835c7060a82f85c62967ec167"
  },
  "new_market": {
   "byte_range": [
    161718125,
    162012172
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 47287796098142113,
   "min_sequence": 33214047314856481,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2647,
   "row_groups": [
    35,
    35
   ],
   "sha256": "423a47a612d8fd306061cf2e89232df54dd125626c0cb06a9880af1dfa8f0dc5"
  },
  "price_change": {
   "byte_range": [
    162012172,
    848029490
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 47287796098325902,
   "min_sequence": 33214047314611931,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 85063352,
   "row_groups": [
    36,
    360
   ],
   "sha256": "b1d586c3056271c35b51fb08783b88190ed7c349c20bc917410627759b0c8510"
  },
  "tick_size_change": {
   "byte_range": [
    848029490,
    848208168
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 47287796098281347,
   "min_sequence": 33214047328239024,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 5216,
   "row_groups": [
    361,
    361
   ],
   "sha256": "1775c2265ec4bf1da029725af277035e27f8d0a16407d2292725ef98fbd6cf1e"
  }
 },
 "row_count": 93715134,
 "sha256": "ccd6106c9b8a9bc9bb5e62a999f45db8da65e5f5727735d2359e9696b372d29d",
 "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"
 }
}