{
 "bytes": 824228345,
 "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-20/04/",
  "products": {
   "best_bid_ask": {
    "sha256": "aaab70383e4f3628d4231cd7fcc40cbadfb898ad19fc12193f6d2c0d4455addf"
   },
   "book": {
    "sha256": "7b916b3cc3706407c18646b7e5f5765f05dbb9649d82218b24584945d410aff3"
   },
   "last_trade_price": {
    "sha256": "a8924581449acb3718509c43d81bf845c7578a0ba10554df021ad07f3f79d231"
   },
   "market_resolved": {
    "sha256": "5848adc315e28283e7ea4695478748a2afee99eb9e9f7c48d855e6f90a5462ba"
   },
   "new_market": {
    "sha256": "fb191d64c9403f2e50d16bde6d92439c6559985564acb7953484fb16a287245c"
   },
   "price_change": {
    "sha256": "da46b99f2765671c105bc9862817449c06e3a08a04c1541c41b3a7170edf3a9a"
   },
   "tick_size_change": {
    "sha256": "749e53cba224da5e080aae4dfe23beeb5b8b58110922f028cb3f33fe7290ac6d"
   }
  },
  "source_manifest": {
   "ab_accounting": {
    "best_bid_ask": {
     "boundary_dropped": 23,
     "rows_a": 8927430,
     "rows_b": 8566672,
     "rows_common": 8565595,
     "rows_merged": 8928484,
     "rows_only_a": 361835,
     "rows_only_b": 1077
    },
    "book": {
     "boundary_dropped": 10,
     "rows_a": 227203,
     "rows_b": 570286,
     "rows_common": 146105,
     "rows_merged": 651374,
     "rows_only_a": 81098,
     "rows_only_b": 424181
    },
    "last_trade_price": {
     "boundary_dropped": 0,
     "rows_a": 60948,
     "rows_b": 57736,
     "rows_common": 57570,
     "rows_merged": 61114,
     "rows_only_a": 3378,
     "rows_only_b": 166
    },
    "market_resolved": {
     "boundary_dropped": 1,
     "rows_a": 1292,
     "rows_b": 1236,
     "rows_common": 1209,
     "rows_merged": 1318,
     "rows_only_a": 83,
     "rows_only_b": 27
    },
    "new_market": {
     "boundary_dropped": 0,
     "rows_a": 1069,
     "rows_b": 1069,
     "rows_common": 790,
     "rows_merged": 1348,
     "rows_only_a": 279,
     "rows_only_b": 279
    },
    "price_change": {
     "boundary_dropped": 176,
     "rows_a": 86573368,
     "rows_b": 82842439,
     "rows_common": 82821921,
     "rows_merged": 86593710,
     "rows_only_a": 3751447,
     "rows_only_b": 20518
    },
    "tick_size_change": {
     "boundary_dropped": 0,
     "rows_a": 2816,
     "rows_b": 2732,
     "rows_common": 2732,
     "rows_merged": 2816,
     "rows_only_a": 84,
     "rows_only_b": 0
    }
   },
   "archive_root": "merged-live",
   "boundary_guard": "cache",
   "files": {
    "best_bid_ask": {
     "byte_size": 81956969,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "best_bid",
      "best_ask",
      "spread"
     ],
     "file": "2026-08-20/04/best_bid_ask.parquet",
     "max_sequence": 21955048244252308,
     "min_sequence": 20829151046722429,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 8928484,
     "sha256": "aaab70383e4f3628d4231cd7fcc40cbadfb898ad19fc12193f6d2c0d4455addf"
    },
    "book": {
     "byte_size": 52617680,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "bids",
      "asks"
     ],
     "file": "2026-08-20/04/book.parquet",
     "max_sequence": 21955048244251143,
     "min_sequence": 20829151046722421,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 651374,
     "sha256": "7b916b3cc3706407c18646b7e5f5765f05dbb9649d82218b24584945d410aff3"
    },
    "last_trade_price": {
     "byte_size": 3129188,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "fee_rate_bps",
      "transaction_hash"
     ],
     "file": "2026-08-20/04/last_trade_price.parquet",
     "max_sequence": 21955048244252205,
     "min_sequence": 20829151047435185,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 61114,
     "sha256": "a8924581449acb3718509c43d81bf845c7578a0ba10554df021ad07f3f79d231"
    },
    "market_resolved": {
     "byte_size": 191821,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "winning_asset_id",
      "winning_outcome"
     ],
     "file": "2026-08-20/04/market_resolved.parquet",
     "max_sequence": 21955048243897885,
     "min_sequence": 20829151052253366,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1318,
     "sha256": "5848adc315e28283e7ea4695478748a2afee99eb9e9f7c48d855e6f90a5462ba"
    },
    "new_market": {
     "byte_size": 144990,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "id",
      "assets_ids",
      "outcomes",
      "question",
      "slug"
     ],
     "file": "2026-08-20/04/new_market.parquet",
     "max_sequence": 21955048243612948,
     "min_sequence": 20829151046841683,
     "order_by": [
      "market",
      "id",
      "timestamp",
      "sequence"
     ],
     "row_count": 1348,
     "sha256": "fb191d64c9403f2e50d16bde6d92439c6559985564acb7953484fb16a287245c"
    },
    "price_change": {
     "byte_size": 690608019,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "price",
      "size",
      "side",
      "best_bid",
      "best_ask"
     ],
     "file": "2026-08-20/04/price_change.parquet",
     "max_sequence": 21955048244252310,
     "min_sequence": 20829151046292586,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 86593710,
     "sha256": "da46b99f2765671c105bc9862817449c06e3a08a04c1541c41b3a7170edf3a9a"
    },
    "tick_size_change": {
     "byte_size": 86917,
     "columns": [
      "timestamp_received",
      "sequence",
      "timestamp",
      "market",
      "asset_id",
      "old_tick_size",
      "new_tick_size"
     ],
     "file": "2026-08-20/04/tick_size_change.parquet",
     "max_sequence": 21955048242220164,
     "min_sequence": 20829151078237624,
     "order_by": [
      "market",
      "asset_id",
      "timestamp",
      "sequence"
     ],
     "row_count": 2816,
     "sha256": "749e53cba224da5e080aae4dfe23beeb5b8b58110922f028cb3f33fe7290ac6d"
    }
   },
   "generated_by": "tools/orderbook_ab/merge_ab.py",
   "hour_utc": "2026-08-20T04:00:00+00:00",
   "max_sequence": 21955048244252310,
   "min_sequence": 20829151046292586,
   "row_count": 96240164,
   "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
   "witnesses": "ab"
  }
 },
 "file": "2026-08-20T04.parquet",
 "hour": "2026-08-20/04",
 "layout": "union-event-sorted-v1",
 "products": {
  "best_bid_ask": {
   "byte_range": [
    4,
    81804583
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "spread"
   ],
   "max_sequence": 21955048244252308,
   "min_sequence": 20829151046722429,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 8928484,
   "row_groups": [
    0,
    34
   ],
   "sha256": "be56e049a6d4ae1bfccf6f2df8c5ece1bd503cdfcb5b4f395116b57e6766b54a"
  },
  "book": {
   "byte_range": [
    81804583,
    140012581
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "bids",
    "asks"
   ],
   "max_sequence": 21955048244251143,
   "min_sequence": 20829151046722421,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 651374,
   "row_groups": [
    35,
    37
   ],
   "sha256": "58b3a54daca58fce4291ceb41528ac9061041db1b235b86745148f91bb2700dc"
  },
  "last_trade_price": {
   "byte_range": [
    140012581,
    143250422
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "price",
    "size",
    "side",
    "fee_rate_bps",
    "transaction_hash"
   ],
   "max_sequence": 21955048244252205,
   "min_sequence": 20829151047435185,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 61114,
   "row_groups": [
    38,
    38
   ],
   "sha256": "ed38f63277fdc18bd5a569e2123af61c2fdff0cc20c0e0fb956e00e4aeceacc3"
  },
  "market_resolved": {
   "byte_range": [
    143250422,
    143457248
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "winning_asset_id",
    "winning_outcome"
   ],
   "max_sequence": 21955048243897885,
   "min_sequence": 20829151052253366,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1318,
   "row_groups": [
    39,
    39
   ],
   "sha256": "71e1b195a71c96212e1aa73fcbd4fde99c43bd53fa1589307e5d57a37edb0659"
  },
  "new_market": {
   "byte_range": [
    143457248,
    143610126
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "id",
    "assets_ids",
    "outcomes",
    "question",
    "slug"
   ],
   "max_sequence": 21955048243612948,
   "min_sequence": 20829151046841683,
   "order_by": [
    "market",
    "id",
    "timestamp",
    "sequence"
   ],
   "row_count": 1348,
   "row_groups": [
    40,
    40
   ],
   "sha256": "6f07bfdf9b22792be0d13039da8a34ecd2ab2715a3c3a6332c7b486070f8d30c"
  },
  "price_change": {
   "byte_range": [
    143610126,
    823154487
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "best_bid",
    "best_ask",
    "price",
    "size",
    "side"
   ],
   "max_sequence": 21955048244252310,
   "min_sequence": 20829151046292586,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 86593710,
   "row_groups": [
    41,
    371
   ],
   "sha256": "2421b0c3821f9a5215441380d798a9eaa6ec297f5ba055bcfaffa25d8caa9501"
  },
  "tick_size_change": {
   "byte_range": [
    823154487,
    823252138
   ],
   "columns": [
    "timestamp_received",
    "sequence",
    "timestamp",
    "market",
    "asset_id",
    "old_tick_size",
    "new_tick_size"
   ],
   "max_sequence": 21955048242220164,
   "min_sequence": 20829151078237624,
   "order_by": [
    "market",
    "asset_id",
    "timestamp",
    "sequence"
   ],
   "row_count": 2816,
   "row_groups": [
    372,
    372
   ],
   "sha256": "9a8a3d13866bbb5e622437e5b7b97ddab7794e4dd0600fb619c47ceecdac5dc5"
  }
 },
 "row_count": 96240164,
 "sha256": "9c2c9b7f0c5488c69a48eec23f7435b2718fb260e680948f81ba51353fe0f9b4",
 "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"
 }
}