{
 "bytes": 770766291,
 "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/21/",
  "products": {
   "best_bid_ask": {
    "sha256": "e39217185df75108d30ed8f42e0efde50d3bed9a14a5224cf6e1bad7e0c4b123"
   },
   "book": {
    "sha256": "80fb94c40b2b4cc3880d5d78fb95d134bcd13477f5d9d2a6b86cb28e4a893f91"
   },
   "last_trade_price": {
    "sha256": "a3a8c95d80e637a3c77b29fa1b3f4f707c0f94f898e304ca182eea057b46ac4b"
   },
   "market_resolved": {
    "sha256": "2c9470b801fba5325c152fdaf40a205a43544b189f78fd87025a21dbf9bf65c4"
   },
   "new_market": {
    "sha256": "f97a9eaa437284a185dd850408205b7d2aa63db6217bc59f221883539791792f"
   },
   "price_change": {
    "sha256": "6cb9cb9ce1f2f6507341575227e9833c3b4c2e150b933bd3dbaa3e5b14cb175a"
   },
   "tick_size_change": {
    "sha256": "9799544e230a57531479cbc6a3d74a285101b00f3c1ee210537bb6e1d30aa7eb"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 12,
     "rows_a": 7088518,
     "rows_b": 7089035,
     "rows_common": 7087235,
     "rows_merged": 7090306,
     "rows_only_a": 1283,
     "rows_only_b": 1800
    },
    "book": {
     "boundary_dropped": 28,
     "rows_a": 366902,
     "rows_b": 287041,
     "rows_common": 175284,
     "rows_merged": 478631,
     "rows_only_a": 191618,
     "rows_only_b": 111757
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "rows_a": 76899,
     "rows_b": 77027,
     "rows_common": 76845,
     "rows_merged": 77081,
     "rows_only_a": 54,
     "rows_only_b": 182
    },
    "market_resolved": {
     "boundary_dropped": 0,
     "rows_a": 1928,
     "rows_b": 1928,
     "rows_common": 1927,
     "rows_merged": 1929,
     "rows_only_a": 1,
     "rows_only_b": 1
    },
    "new_market": {
     "boundary_dropped": 0,
     "rows_a": 658,
     "rows_b": 658,
     "rows_common": 547,
     "rows_merged": 769,
     "rows_only_a": 111,
     "rows_only_b": 111
    },
    "price_change": {
     "boundary_dropped": 186,
     "rows_a": 81573734,
     "rows_b": 81595514,
     "rows_common": 81558646,
     "rows_merged": 81610416,
     "rows_only_a": 15088,
     "rows_only_b": 36868
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "rows_a": 2940,
     "rows_b": 2940,
     "rows_common": 2940,
     "rows_merged": 2940,
     "rows_only_a": 0,
     "rows_only_b": 0
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 69482141,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-21/21/best_bid_ask.parquet",
     "max_sequence": 47287796187380045,
     "min_sequence": 33495522293050291,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 7090306,
     "sha256": "e39217185df75108d30ed8f42e0efde50d3bed9a14a5224cf6e1bad7e0c4b123"
    },
    "book": {
     "byte_size": 41152245,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-21/21/book.parquet",
     "max_sequence": 47287796187378658,
     "min_sequence": 33495522292803997,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 478631,
     "sha256": "80fb94c40b2b4cc3880d5d78fb95d134bcd13477f5d9d2a6b86cb28e4a893f91"
    },
    "last_trade_price": {
     "byte_size": 3878313,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-21/21/last_trade_price.parquet",
     "max_sequence": 47287796187377867,
     "min_sequence": 33495522295322252,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 77081,
     "sha256": "a3a8c95d80e637a3c77b29fa1b3f4f707c0f94f898e304ca182eea057b46ac4b"
    },
    "market_resolved": {
     "byte_size": 284324,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-21/21/market_resolved.parquet",
     "max_sequence": 47287796187338684,
     "min_sequence": 33495522334578891,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1929,
     "sha256": "2c9470b801fba5325c152fdaf40a205a43544b189f78fd87025a21dbf9bf65c4"
    },
    "new_market": {
     "byte_size": 92993,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-21/21/new_market.parquet",
     "max_sequence": 47287796186465683,
     "min_sequence": 33495522293120782,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 769,
     "sha256": "f97a9eaa437284a185dd850408205b7d2aa63db6217bc59f221883539791792f"
    },
    "price_change": {
     "byte_size": 664393276,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-21/21/price_change.parquet",
     "max_sequence": 47287796187380044,
     "min_sequence": 33495522293050297,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 81610416,
     "sha256": "6cb9cb9ce1f2f6507341575227e9833c3b4c2e150b933bd3dbaa3e5b14cb175a"
    },
    "tick_size_change": {
     "byte_size": 90399,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-21/21/tick_size_change.parquet",
     "max_sequence": 47287796187127344,
     "min_sequence": 47287796101715241,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2940,
     "sha256": "9799544e230a57531479cbc6a3d74a285101b00f3c1ee210537bb6e1d30aa7eb"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-21T21:00:00+00:00",
   "max_sequence": 47287796187380045,
   "min_sequence": 33495522292803997,
   "row_count": 89262072,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
   "witnesses": "ab"
  }
 },
 "file": "2026-08-21T21.parquet",
 "hour": "2026-08-21/21",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    69894412
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 47287796187380045,
   "min_sequence": 33495522293050291,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 7090306,
   "row_groups": [
    0,
    27
   ],
   "sha256": "add679afd26ba26720d59cea4340a171079749550efe201d49eb8d7afca408a3"
  },
  "book": {
   "byte_range": [
    69894412,
    115487965
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 47287796187378658,
   "min_sequence": 33495522292803997,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 478631,
   "row_groups": [
    28,
    29
   ],
   "sha256": "25a3ca9f1bd908d224fd6fe9600ea07af4dd2c1b518c40ba5e358b7b30a57ca3"
  },
  "last_trade_price": {
   "byte_range": [
    115487965,
    119555051
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 47287796187377867,
   "min_sequence": 33495522295322252,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 77081,
   "row_groups": [
    30,
    30
   ],
   "sha256": "2efd1e6970f931c6081d9a362acc5c086998d386de7910cf75be70ae7e1b4fac"
  },
  "market_resolved": {
   "byte_range": [
    119555051,
    119861491
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 47287796187338684,
   "min_sequence": 33495522334578891,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1929,
   "row_groups": [
    31,
    31
   ],
   "sha256": "e5a692daacad2827fa4b4357c82c8cf5449c6d43ff1dbc35e0faa19fed76dd45"
  },
  "new_market": {
   "byte_range": [
    119861491,
    119959757
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 47287796186465683,
   "min_sequence": 33495522293120782,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 769,
   "row_groups": [
    32,
    32
   ],
   "sha256": "68e5d55644ef30e1cfd232460b99f21360ce38e750720f506637782b5fbe50ae"
  },
  "price_change": {
   "byte_range": [
    119959757,
    769763348
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 47287796187380044,
   "min_sequence": 33495522293050297,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 81610416,
   "row_groups": [
    33,
    344
   ],
   "sha256": "4459f0ac05ef4ce1942cdba149bbe4a34fdfbb7cd880e43fed29f5177d4b7fb1"
  },
  "tick_size_change": {
   "byte_range": [
    769763348,
    769860583
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 47287796187127344,
   "min_sequence": 47287796101715241,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2940,
   "row_groups": [
    345,
    345
   ],
   "sha256": "cb5be29ef170fc39a2a7d1d9d9ffcd319861c37b9c0522eebbb95ddb061432b4"
  }
 },
 "row_count": 89262072,
 "sha256": "17fd9622c89711c3c0929bb2758d8d43df174ec5786ca437d63264092f51f523",
 "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"
 }
}