{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 100,
      "class": "FULL",
      "exception_markets": 88,
      "rows_a": 7979001,
      "rows_b": 7974242,
      "rows_by_domain": {
        "a": 7979001,
        "b": 7974242,
        "c": 7989445,
        "e": 7917010,
        "h": 7988828
      },
      "rows_c": 7989445,
      "rows_e": 7917010,
      "rows_h": 7988828,
      "rows_joined": 7989981,
      "rows_merged": 7989881
    },
    "book": {
      "boundary_dropped": 44,
      "class": "FULL",
      "exception_markets": 143954,
      "rows_a": 281338,
      "rows_b": 254907,
      "rows_by_domain": {
        "a": 281338,
        "b": 254907,
        "c": 270598,
        "e": 262299,
        "h": 244144
      },
      "rows_c": 270598,
      "rows_e": 262299,
      "rows_h": 244144,
      "rows_joined": 578679,
      "rows_merged": 578635
    },
    "last_trade_price": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 1,
      "rows_a": 76357,
      "rows_b": 74966,
      "rows_by_domain": {
        "a": 76357,
        "b": 74966,
        "c": 79554,
        "e": 69901,
        "h": 79471
      },
      "rows_c": 79554,
      "rows_e": 69901,
      "rows_h": 79471,
      "rows_joined": 79590,
      "rows_merged": 79590
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 6,
      "rows_a": 552,
      "rows_b": 552,
      "rows_by_domain": {
        "a": 552,
        "b": 552,
        "c": 552,
        "e": 546,
        "h": 552
      },
      "rows_c": 552,
      "rows_e": 546,
      "rows_h": 552,
      "rows_joined": 583,
      "rows_merged": 583
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 341,
      "rows_b": 341,
      "rows_by_domain": {
        "a": 341,
        "b": 341,
        "c": 341,
        "e": 341,
        "h": 341
      },
      "rows_c": 341,
      "rows_e": 341,
      "rows_h": 341,
      "rows_joined": 483,
      "rows_merged": 483
    },
    "price_change": {
      "boundary_dropped": 1002,
      "class": "FULL",
      "exception_markets": 55,
      "rows_a": 82875424,
      "rows_b": 82675742,
      "rows_by_domain": {
        "a": 82875424,
        "b": 82675742,
        "c": 83329894,
        "e": 81835554,
        "h": 83330462
      },
      "rows_c": 83329894,
      "rows_e": 81835554,
      "rows_h": 83330462,
      "rows_joined": 83344912,
      "rows_merged": 83343910
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 8,
      "rows_a": 3028,
      "rows_b": 3028,
      "rows_by_domain": {
        "a": 3028,
        "b": 3028,
        "c": 3032,
        "e": 3000,
        "h": 3028
      },
      "rows_c": 3032,
      "rows_e": 3000,
      "rows_h": 3028,
      "rows_joined": 3032,
      "rows_merged": 3032
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 994178609,
  "file": "2026-08-28T13.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-28/13",
  "hour_utc": "2026-08-28T13:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 129759965269676278,
  "min_sequence": 281477883098322,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        95253786
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965235462915,
      "min_sequence": 281477883098330,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 7989881,
      "row_groups": [
        0,
        30
      ],
      "sha256": "99595042d80d09a0d3cd2f4e32a8082d7273062e4faf977069ef3983a2914dfd"
    },
    "book": {
      "byte_range": [
        95253786,
        149458698
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965269676278,
      "min_sequence": 281477883102589,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 578635,
      "row_groups": [
        31,
        33
      ],
      "sha256": "064fecea3db02006994ee1b9b1a41b10a8181306c96bf72914f933280f36e19a"
    },
    "last_trade_price": {
      "byte_range": [
        149458698,
        153907773
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965251853646,
      "min_sequence": 281477883103841,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 79590,
      "row_groups": [
        34,
        34
      ],
      "sha256": "ec7cc9429d35f76f9da73a773ae591ff1862a005902d2069d3592082374f68dd"
    },
    "market_resolved": {
      "byte_range": [
        153907773,
        154001133
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965248618654,
      "min_sequence": 281477883450871,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 583,
      "row_groups": [
        35,
        35
      ],
      "sha256": "1d6546ac1ba94d577be23c643275ac03f4d22e7bd857cdb986f5d24fb6d92a06"
    },
    "new_market": {
      "byte_range": [
        154001133,
        154054692
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965267623413,
      "min_sequence": 281477883424114,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 483,
      "row_groups": [
        36,
        36
      ],
      "sha256": "1e47c88c36441e3449d43d431fa0715e4d5519fe2301d9fd916e057a71ea9b49"
    },
    "price_change": {
      "byte_range": [
        154054692,
        993016211
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759965265676605,
      "min_sequence": 281477883098322,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 83343910,
      "row_groups": [
        37,
        354
      ],
      "sha256": "2730a399b4d90c00056f4fa1ee0d3852da297f855c071e434ce94a147d30b238"
    },
    "tick_size_change": {
      "byte_range": [
        993016211,
        993126579
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 50946971128394360,
      "min_sequence": 281477884904787,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 3032,
      "row_groups": [
        355,
        355
      ],
      "sha256": "8086b4ecb701d01f033edaf703eed2376f930c694bb43c70d1258f5b1b861d04"
    }
  },
  "row_count": 91996114,
  "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 e (active: a, b, c, h, e)",
  "sha256": "5b1cd2d336e7ae6a82011ed40ffcce3fdc791f66f5c54727f3c920791e38c23a",
  "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"
  },
  "witnesses": "abche",
  "served_verbatim": true,
  "served_note": "This hour is the merger's union file, published byte for byte. Hours before the era cutover are rebuilt here from the seven product files and carry one column fewer."
}
