{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 160,
      "class": "FULL",
      "exception_markets": 1509,
      "rows_a": 7781101,
      "rows_b": 7116769,
      "rows_by_domain": {
        "a": 7781101,
        "b": 7116769,
        "c": 8126582,
        "e": 8025430,
        "h": 8126252
      },
      "rows_c": 8126582,
      "rows_e": 8025430,
      "rows_h": 8126252,
      "rows_joined": 8127288,
      "rows_merged": 8127128
    },
    "book": {
      "boundary_dropped": 682,
      "class": "FULL",
      "exception_markets": 181457,
      "rows_a": 520711,
      "rows_b": 1222398,
      "rows_by_domain": {
        "a": 520711,
        "b": 1222398,
        "c": 143378,
        "e": 176596,
        "h": 156578
      },
      "rows_c": 143378,
      "rows_e": 176596,
      "rows_h": 156578,
      "rows_joined": 1396275,
      "rows_merged": 1395593
    },
    "last_trade_price": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 201,
      "rows_a": 56109,
      "rows_b": 50339,
      "rows_by_domain": {
        "a": 56109,
        "b": 50339,
        "c": 59506,
        "e": 46368,
        "h": 59518
      },
      "rows_c": 59506,
      "rows_e": 46368,
      "rows_h": 59518,
      "rows_joined": 59634,
      "rows_merged": 59634
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 46,
      "rows_a": 783,
      "rows_b": 898,
      "rows_by_domain": {
        "a": 783,
        "b": 898,
        "c": 783,
        "e": 749,
        "h": 783
      },
      "rows_c": 783,
      "rows_e": 749,
      "rows_h": 783,
      "rows_joined": 1051,
      "rows_merged": 1051
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 2,
      "rows_a": 459,
      "rows_b": 472,
      "rows_by_domain": {
        "a": 459,
        "b": 472,
        "c": 459,
        "e": 459,
        "h": 459
      },
      "rows_c": 459,
      "rows_e": 459,
      "rows_h": 459,
      "rows_joined": 668,
      "rows_merged": 668
    },
    "price_change": {
      "boundary_dropped": 1242,
      "class": "FULL",
      "exception_markets": 643,
      "rows_a": 85390913,
      "rows_b": 78142745,
      "rows_by_domain": {
        "a": 85390913,
        "b": 78142745,
        "c": 89342718,
        "e": 86706298,
        "h": 89316358
      },
      "rows_c": 89342718,
      "rows_e": 86706298,
      "rows_h": 89316358,
      "rows_joined": 89365574,
      "rows_merged": 89364332
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 99,
      "rows_a": 1652,
      "rows_b": 1516,
      "rows_by_domain": {
        "a": 1652,
        "b": 1516,
        "c": 1788,
        "e": 1664,
        "h": 1788
      },
      "rows_c": 1788,
      "rows_e": 1664,
      "rows_h": 1788,
      "rows_joined": 1788,
      "rows_merged": 1788
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 1063231132,
  "file": "2026-08-27T23.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-27/23",
  "hour_utc": "2026-08-27T23:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 127226689487646050,
  "min_sequence": 281476620421914,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        93728810
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 65302194602146677,
      "min_sequence": 281476620422098,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 8127128,
      "row_groups": [
        0,
        31
      ],
      "sha256": "4398487e0874ec6edabed79b6ad0c65d48fe53a90cf91c3db746c35a192392f6"
    },
    "book": {
      "byte_range": [
        93728810,
        173088133
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 127226689485934913,
      "min_sequence": 281476620422224,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1395593,
      "row_groups": [
        32,
        37
      ],
      "sha256": "72a0c24110de243a8c82abbaf6b029ee8fca022e5ec854617d85a72fbfb89594"
    },
    "last_trade_price": {
      "byte_range": [
        173088133,
        176421870
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 127226689486415687,
      "min_sequence": 281476620423565,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 59634,
      "row_groups": [
        38,
        38
      ],
      "sha256": "14c4e01864eb1fd595c8ca1632d6f9cbb9ea90cc241b80357def8f6372853b82"
    },
    "market_resolved": {
      "byte_range": [
        176421870,
        176552073
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 127226689476059131,
      "min_sequence": 281476622651211,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1051,
      "row_groups": [
        39,
        39
      ],
      "sha256": "bbddcefd364f2c899cb3f09de6381e9e7ba137314b1cf47f4b59a9b42e57a4c6"
    },
    "new_market": {
      "byte_range": [
        176552073,
        176627563
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 127226689479335757,
      "min_sequence": 281476620754926,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 668,
      "row_groups": [
        40,
        40
      ],
      "sha256": "c8c17d7670fe470161205b0456ed8ab0c18ef7a498fdc76d7b79fae288a6f8a7"
    },
    "price_change": {
      "byte_range": [
        176627563,
        1062033415
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 127226689487646050,
      "min_sequence": 281476620421914,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 89364332,
      "row_groups": [
        41,
        381
      ],
      "sha256": "c203edd7cd299e49e87856a42bd6d6706f6defb27a775e9211ecc24bd79a25f1"
    },
    "tick_size_change": {
      "byte_range": [
        1062033415,
        1062099567
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 49821072160640420,
      "min_sequence": 281476623003167,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1788,
      "row_groups": [
        382,
        382
      ],
      "sha256": "7603790837fcdb5993fff4a7a0d121be8f6c93a510fa6832b20bf1334ed65639"
    }
  },
  "row_count": 98950194,
  "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": "bb06be45c0dfa5fb756a4825e4a75b93adb96edad20ad0fecd0f6fe53498cb9f",
  "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."
}
