{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 62,
      "class": "FULL",
      "exception_markets": 571,
      "rows_a": 7427042,
      "rows_b": 7074430,
      "rows_by_domain": {
        "a": 7427042,
        "b": 7074430,
        "c": 7437402,
        "e": 7243905,
        "h": 7437143
      },
      "rows_c": 7437402,
      "rows_e": 7243905,
      "rows_h": 7437143,
      "rows_joined": 7437826,
      "rows_merged": 7437764
    },
    "book": {
      "boundary_dropped": 90,
      "class": "FULL",
      "exception_markets": 181266,
      "rows_a": 167142,
      "rows_b": 530207,
      "rows_by_domain": {
        "a": 167142,
        "b": 530207,
        "c": 164411,
        "e": 150630,
        "h": 164633
      },
      "rows_c": 164411,
      "rows_e": 150630,
      "rows_h": 164633,
      "rows_joined": 583323,
      "rows_merged": 583233
    },
    "last_trade_price": {
      "boundary_dropped": 1,
      "class": "FULL",
      "exception_markets": 120,
      "rows_a": 76396,
      "rows_b": 71290,
      "rows_by_domain": {
        "a": 76396,
        "b": 71290,
        "c": 79479,
        "e": 58600,
        "h": 79471
      },
      "rows_c": 79479,
      "rows_e": 58600,
      "rows_h": 79471,
      "rows_joined": 79541,
      "rows_merged": 79540
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 25,
      "rows_a": 1381,
      "rows_b": 1356,
      "rows_by_domain": {
        "a": 1381,
        "b": 1356,
        "c": 1381,
        "e": 1381,
        "h": 1381
      },
      "rows_c": 1381,
      "rows_e": 1381,
      "rows_h": 1381,
      "rows_joined": 1503,
      "rows_merged": 1503
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 388,
      "rows_b": 388,
      "rows_by_domain": {
        "a": 388,
        "b": 388,
        "c": 388,
        "e": 388,
        "h": 388
      },
      "rows_c": 388,
      "rows_e": 388,
      "rows_h": 388,
      "rows_joined": 595,
      "rows_merged": 595
    },
    "price_change": {
      "boundary_dropped": 1240,
      "class": "FULL",
      "exception_markets": 469,
      "rows_a": 88703750,
      "rows_b": 84121195,
      "rows_by_domain": {
        "a": 88703750,
        "b": 84121195,
        "c": 89202728,
        "e": 84722330,
        "h": 89228038
      },
      "rows_c": 89202728,
      "rows_e": 84722330,
      "rows_h": 89228038,
      "rows_joined": 89276288,
      "rows_merged": 89275048
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 49,
      "rows_a": 3096,
      "rows_b": 2956,
      "rows_by_domain": {
        "a": 3096,
        "b": 2956,
        "c": 3096,
        "e": 3040,
        "h": 3096
      },
      "rows_c": 3096,
      "rows_e": 3040,
      "rows_h": 3096,
      "rows_joined": 3096,
      "rows_merged": 3096
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 1062443625,
  "file": "2026-08-27T15.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-27/15",
  "hour_utc": "2026-08-27T15:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 119908340144715366,
  "min_sequence": 281475811967157,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        93316972
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340115012846,
      "min_sequence": 281475811967227,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 7437764,
      "row_groups": [
        0,
        28
      ],
      "sha256": "bf4652e26eb0b9fa17f1cf5f3a5e41f6a108d8f4e0ea4f2e3b03674e7c12f207"
    },
    "book": {
      "byte_range": [
        93316972,
        153674569
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340142953869,
      "min_sequence": 281475811967657,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 583233,
      "row_groups": [
        29,
        31
      ],
      "sha256": "ce6d8e1861463fe13cef2439fb35abc52cf683ac71c841e0cf5b01a5f3948860"
    },
    "last_trade_price": {
      "byte_range": [
        153674569,
        158139104
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340123072196,
      "min_sequence": 281475811971220,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 79540,
      "row_groups": [
        32,
        32
      ],
      "sha256": "331a30b813816899860499e93340b4a6f6e7422c75f61771005be820b5d7cefd"
    },
    "market_resolved": {
      "byte_range": [
        158139104,
        158374262
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340081866447,
      "min_sequence": 281475815288461,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1503,
      "row_groups": [
        33,
        33
      ],
      "sha256": "504c80eb388534e809d00f033bfb55f4fc397d7e6f31cc5c4557be2f16efe387"
    },
    "new_market": {
      "byte_range": [
        158374262,
        158434998
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340127076474,
      "min_sequence": 281475812418430,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 595,
      "row_groups": [
        34,
        34
      ],
      "sha256": "3286c3f093d850172a20c52dab1bb9f10e3b3f52aa5fc520e2cb5a9f5afa3a6e"
    },
    "price_change": {
      "byte_range": [
        158434998,
        1061215167
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 119908340144715366,
      "min_sequence": 281475811967157,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 89275048,
      "row_groups": [
        35,
        375
      ],
      "sha256": "533930a479b84f8b74d42051b41a9461eb3e370ba1d25d8680eefd8fe73c2802"
    },
    "tick_size_change": {
      "byte_range": [
        1061215167,
        1061329558
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 49821071306449668,
      "min_sequence": 281475813820150,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 3096,
      "row_groups": [
        376,
        376
      ],
      "sha256": "9b9ae9af96cc3c0c859b85ad2e9b353e773de92998e4326c705ab262c7c8db69"
    }
  },
  "row_count": 97380779,
  "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": "58f4788d0c7535c4dab2c3392a6241500060062664504de3fc7681593b8f31d2",
  "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."
}
