{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 102,
      "class": "FULL",
      "exception_markets": 124,
      "rows_a": 8631284,
      "rows_b": 8628794,
      "rows_by_domain": {
        "a": 8631284,
        "b": 8628794,
        "c": 8633491,
        "e": 8619564,
        "h": 8628049
      },
      "rows_c": 8633491,
      "rows_e": 8619564,
      "rows_h": 8628049,
      "rows_joined": 8633981,
      "rows_merged": 8633879
    },
    "book": {
      "boundary_dropped": 136,
      "class": "FULL",
      "exception_markets": 44276,
      "rows_a": 140585,
      "rows_b": 156965,
      "rows_by_domain": {
        "a": 140585,
        "b": 156965,
        "c": 130843,
        "e": 148470,
        "h": 137021
      },
      "rows_c": 130843,
      "rows_e": 148470,
      "rows_h": 137021,
      "rows_joined": 227636,
      "rows_merged": 227500
    },
    "last_trade_price": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 59523,
      "rows_b": 58870,
      "rows_by_domain": {
        "a": 59523,
        "b": 58870,
        "c": 59924,
        "e": 57629,
        "h": 59098
      },
      "rows_c": 59924,
      "rows_e": 57629,
      "rows_h": 59098,
      "rows_joined": 59974,
      "rows_merged": 59974
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 498,
      "rows_b": 498,
      "rows_by_domain": {
        "a": 498,
        "b": 498,
        "c": 498,
        "e": 498,
        "h": 498
      },
      "rows_c": 498,
      "rows_e": 498,
      "rows_h": 498,
      "rows_joined": 498,
      "rows_merged": 498
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 453,
      "rows_b": 453,
      "rows_by_domain": {
        "a": 453,
        "b": 453,
        "c": 453,
        "e": 453,
        "h": 453
      },
      "rows_c": 453,
      "rows_e": 453,
      "rows_h": 453,
      "rows_joined": 650,
      "rows_merged": 650
    },
    "price_change": {
      "boundary_dropped": 904,
      "class": "FULL",
      "exception_markets": 175,
      "rows_a": 82779028,
      "rows_b": 82653800,
      "rows_by_domain": {
        "a": 82779028,
        "b": 82653800,
        "c": 82810768,
        "e": 82530948,
        "h": 82667828
      },
      "rows_c": 82810768,
      "rows_e": 82530948,
      "rows_h": 82667828,
      "rows_joined": 82826258,
      "rows_merged": 82825354
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 2768,
      "rows_b": 2768,
      "rows_by_domain": {
        "a": 2768,
        "b": 2768,
        "c": 2768,
        "e": 2768,
        "h": 2768
      },
      "rows_c": 2768,
      "rows_e": 2768,
      "rows_h": 2768,
      "rows_joined": 2768,
      "rows_merged": 2768
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 943383437,
  "file": "2026-08-28T08.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-28/08",
  "hour_utc": "2026-08-28T08:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 129759964814668761,
  "min_sequence": 281477429904637,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        102109144
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964794129567,
      "min_sequence": 281477429904711,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 8633879,
      "row_groups": [
        0,
        32
      ],
      "sha256": "21aa758e77167495bb08c1be663c915027430e767e6bdf8b5a5ae7865affa745"
    },
    "book": {
      "byte_range": [
        102109144,
        125278937
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964813484412,
      "min_sequence": 281477429906875,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 227500,
      "row_groups": [
        33,
        33
      ],
      "sha256": "fe2a10590115aa0e80ade0f7a77531c9e8b9852835036db98deb0299eea12d57"
    },
    "last_trade_price": {
      "byte_range": [
        125278937,
        128683638
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964772480579,
      "min_sequence": 281477429905372,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 59974,
      "row_groups": [
        34,
        34
      ],
      "sha256": "c3fcd6a9dc07db5e364ab72ea50ed459630081910cf422cce2b1cb0450e43612"
    },
    "market_resolved": {
      "byte_range": [
        128683638,
        128765535
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 281477520142915,
      "min_sequence": 281477430257090,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 498,
      "row_groups": [
        35,
        35
      ],
      "sha256": "6f78e863f1007e9f3121bd72c7bab8ded9618c76761794d147422e2be6adb240"
    },
    "new_market": {
      "byte_range": [
        128765535,
        128835063
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964806063389,
      "min_sequence": 281477430250035,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 650,
      "row_groups": [
        36,
        36
      ],
      "sha256": "82ea87930b7569c86fb47ebadd690a2ff9a3c2a97c4b2b9ede9f4e60b3f3fbfb"
    },
    "price_change": {
      "byte_range": [
        128835063,
        942234864
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 129759964814668761,
      "min_sequence": 281477429904637,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 82825354,
      "row_groups": [
        37,
        352
      ],
      "sha256": "11b05302528ca8473f44d2557e7de2199e900f55658944e3ed8a73ae82f02034"
    },
    "tick_size_change": {
      "byte_range": [
        942234864,
        942337638
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 281477519878047,
      "min_sequence": 281477429910810,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 2768,
      "row_groups": [
        353,
        353
      ],
      "sha256": "398ae3aaf7d9812a89c054f576e2ab32d49683ea5840a530ce96e4295c54cf02"
    }
  },
  "row_count": 91750623,
  "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": "53e915c5eacc8a9a017dc0f8e4727583e8365b101308090407ce7b13210d4fd5",
  "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."
}
