{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 197,
      "class": "FULL",
      "exception_markets": 196,
      "rows_a": 7499609,
      "rows_b": 7497560,
      "rows_by_domain": {
        "a": 7499609,
        "b": 7497560,
        "c": 7501956,
        "e": 7413305,
        "h": 7501638
      },
      "rows_c": 7501956,
      "rows_e": 7413305,
      "rows_h": 7501638,
      "rows_joined": 7502669,
      "rows_merged": 7502472
    },
    "book": {
      "boundary_dropped": 25,
      "class": "FULL",
      "exception_markets": 119431,
      "rows_a": 189042,
      "rows_b": 165183,
      "rows_by_domain": {
        "a": 189042,
        "b": 165183,
        "c": 178280,
        "e": 169969,
        "h": 155468
      },
      "rows_c": 178280,
      "rows_e": 169969,
      "rows_h": 155468,
      "rows_joined": 419318,
      "rows_merged": 419293
    },
    "last_trade_price": {
      "boundary_dropped": 1,
      "class": "FULL",
      "exception_markets": 2,
      "rows_a": 45479,
      "rows_b": 44821,
      "rows_by_domain": {
        "a": 45479,
        "b": 44821,
        "c": 45734,
        "e": 37844,
        "h": 45749
      },
      "rows_c": 45734,
      "rows_e": 37844,
      "rows_h": 45749,
      "rows_joined": 45787,
      "rows_merged": 45786
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 14,
      "rows_a": 747,
      "rows_b": 747,
      "rows_by_domain": {
        "a": 747,
        "b": 747,
        "c": 747,
        "e": 733,
        "h": 747
      },
      "rows_c": 747,
      "rows_e": 733,
      "rows_h": 747,
      "rows_joined": 760,
      "rows_merged": 760
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 2052,
      "rows_b": 2052,
      "rows_by_domain": {
        "a": 2052,
        "b": 2052,
        "c": 2052,
        "e": 2052,
        "h": 2052
      },
      "rows_c": 2052,
      "rows_e": 2052,
      "rows_h": 2052,
      "rows_joined": 3522,
      "rows_merged": 3522
    },
    "price_change": {
      "boundary_dropped": 1208,
      "class": "FULL",
      "exception_markets": 179,
      "rows_a": 65478121,
      "rows_b": 65401380,
      "rows_by_domain": {
        "a": 65478121,
        "b": 65401380,
        "c": 65516398,
        "e": 63871740,
        "h": 65516794
      },
      "rows_c": 65516398,
      "rows_e": 63871740,
      "rows_h": 65516794,
      "rows_joined": 65531896,
      "rows_merged": 65530688
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 3,
      "rows_a": 1772,
      "rows_b": 1772,
      "rows_by_domain": {
        "a": 1772,
        "b": 1772,
        "c": 1772,
        "e": 1760,
        "h": 1772
      },
      "rows_c": 1772,
      "rows_e": 1760,
      "rows_h": 1772,
      "rows_joined": 1772,
      "rows_merged": 1772
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 789227962,
  "file": "2026-08-28T04.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-28/04",
  "hour_utc": "2026-08-28T04:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 129759964459482337,
  "min_sequence": 281477095812865,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        91615404
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964439692739,
      "min_sequence": 281477095812957,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 7502472,
      "row_groups": [
        0,
        28
      ],
      "sha256": "80a2344e860339e40cec2c0b3d45869d2e3097b908d8370683ffae260faff9b0"
    },
    "book": {
      "byte_range": [
        91615404,
        131308221
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964458489470,
      "min_sequence": 281477095815375,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 419293,
      "row_groups": [
        29,
        30
      ],
      "sha256": "cecfb3ac8132958719c0f52982d584db10e083880a2637375f4086999d0360d2"
    },
    "last_trade_price": {
      "byte_range": [
        131308221,
        133935580
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964425988363,
      "min_sequence": 281477095813771,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 45786,
      "row_groups": [
        31,
        31
      ],
      "sha256": "0a49a12f7e1ae31ceaf64a3aea2d1fe507f36aa82a691933d223b4315b81badc"
    },
    "market_resolved": {
      "byte_range": [
        133935580,
        134055644
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964453315334,
      "min_sequence": 281477096866879,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 760,
      "row_groups": [
        32,
        32
      ],
      "sha256": "b480671c0927803132e050870cc74135d32a8fadad51ecbb9132ffa782a82557"
    },
    "new_market": {
      "byte_range": [
        134055644,
        134378518
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964457935383,
      "min_sequence": 281477095982173,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 3522,
      "row_groups": [
        33,
        33
      ],
      "sha256": "2634d0dc210015fb73cc1f27dcb4236b4ddac7e346aa478e1c875dcc2fcc40d5"
    },
    "price_change": {
      "byte_range": [
        134378518,
        788320040
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964459482337,
      "min_sequence": 281477095812865,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 65530688,
      "row_groups": [
        34,
        283
      ],
      "sha256": "c6a8b2ffcd82e557e8678e7a2453e0d2e89759d1d00d9c6a5b43e9145147715e"
    },
    "tick_size_change": {
      "byte_range": [
        788320040,
        788385790
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 49821072616586383,
      "min_sequence": 281477098451140,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1772,
      "row_groups": [
        284,
        284
      ],
      "sha256": "1dfff7dbb5bdb1a308ed4c8d71fee3231dc4c8ce8ff8b7403cfa4733101e6f3e"
    }
  },
  "row_count": 73504293,
  "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": "e1d7bda351fe60d7e7282243ea0b34ddfdfa32f268ed101e2356e241bc886369",
  "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."
}
