{
  "ab_accounting": {
    "best_bid_ask": {
      "boundary_dropped": 86,
      "class": "FULL",
      "exception_markets": 1766,
      "rows_a": 8270236,
      "rows_b": 7550115,
      "rows_by_domain": {
        "a": 8270236,
        "b": 7550115,
        "c": 8651280,
        "e": 8532660,
        "h": 8649359
      },
      "rows_c": 8651280,
      "rows_e": 8532660,
      "rows_h": 8649359,
      "rows_joined": 8652511,
      "rows_merged": 8652425
    },
    "book": {
      "boundary_dropped": 28,
      "class": "FULL",
      "exception_markets": 144366,
      "rows_a": 671317,
      "rows_b": 1271185,
      "rows_by_domain": {
        "a": 671317,
        "b": 1271185,
        "c": 368370,
        "e": 387152,
        "h": 380871
      },
      "rows_c": 368370,
      "rows_e": 387152,
      "rows_h": 380871,
      "rows_joined": 1810145,
      "rows_merged": 1810117
    },
    "last_trade_price": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 212,
      "rows_a": 60148,
      "rows_b": 53563,
      "rows_by_domain": {
        "a": 60148,
        "b": 53563,
        "c": 64298,
        "e": 51815,
        "h": 64010
      },
      "rows_c": 64298,
      "rows_e": 51815,
      "rows_h": 64010,
      "rows_joined": 64353,
      "rows_merged": 64353
    },
    "market_resolved": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 21,
      "rows_a": 447,
      "rows_b": 549,
      "rows_by_domain": {
        "a": 447,
        "b": 549,
        "c": 453,
        "e": 453,
        "h": 453
      },
      "rows_c": 453,
      "rows_e": 453,
      "rows_h": 453,
      "rows_joined": 600,
      "rows_merged": 600
    },
    "new_market": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 0,
      "rows_a": 993,
      "rows_b": 1068,
      "rows_by_domain": {
        "a": 993,
        "b": 1068,
        "c": 991,
        "e": 991,
        "h": 991
      },
      "rows_c": 991,
      "rows_e": 991,
      "rows_h": 991,
      "rows_joined": 1593,
      "rows_merged": 1593
    },
    "price_change": {
      "boundary_dropped": 1004,
      "class": "FULL",
      "exception_markets": 1145,
      "rows_a": 89010224,
      "rows_b": 80984415,
      "rows_by_domain": {
        "a": 89010224,
        "b": 80984415,
        "c": 93161708,
        "e": 90498498,
        "h": 93117963
      },
      "rows_c": 93161708,
      "rows_e": 90498498,
      "rows_h": 93117963,
      "rows_joined": 93181656,
      "rows_merged": 93180652
    },
    "tick_size_change": {
      "boundary_dropped": 0,
      "class": "FULL",
      "exception_markets": 86,
      "rows_a": 2128,
      "rows_b": 1856,
      "rows_by_domain": {
        "a": 2128,
        "b": 1856,
        "c": 2160,
        "e": 2112,
        "h": 2160
      },
      "rows_c": 2160,
      "rows_e": 2112,
      "rows_h": 2160,
      "rows_joined": 2160,
      "rows_merged": 2160
    }
  },
  "archive_root": "union-staging",
  "boundary_guard": "cache",
  "bytes": 1145726332,
  "file": "2026-08-28T00.parquet",
  "generated_by": "tools/orderbook_ab/merge_ab.py",
  "hour": "2026-08-28/00",
  "hour_utc": "2026-08-28T00:00:00+00:00",
  "layout": "union-event-sorted-v1",
  "max_sequence": 128071114426001620,
  "min_sequence": 281476715379683,
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        100555737
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 49821072270269465,
      "min_sequence": 281476715379719,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 8652425,
      "row_groups": [
        0,
        33
      ],
      "sha256": "e318b2217c26d3ceebdac147637c36cef72d1d03a69e81bc41c689d549b9b9ce"
    },
    "book": {
      "byte_range": [
        100555737,
        193963632
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 128071114426001620,
      "min_sequence": 281476715380177,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1810117,
      "row_groups": [
        34,
        40
      ],
      "sha256": "88c5f0fc73b74e3ccfc4af1ed3b806fcac736560476c4631f18cb6a9e234c44d"
    },
    "last_trade_price": {
      "byte_range": [
        193963632,
        197542532
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 128071114415343112,
      "min_sequence": 281476715385596,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 64353,
      "row_groups": [
        41,
        41
      ],
      "sha256": "fd4034566c841c2af7e45c34c8654380d60d27fc8abbd28cb4c63818cb17201d"
    },
    "market_resolved": {
      "byte_range": [
        197542532,
        197617067
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 128071114406644975,
      "min_sequence": 281476715684654,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 600,
      "row_groups": [
        42,
        42
      ],
      "sha256": "bf9ff99289b07a872bae8084ca575490b040aae69939a3133d01ab93235335a8"
    },
    "new_market": {
      "byte_range": [
        197617067,
        197774370
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 128071114425991187,
      "min_sequence": 281476715684655,
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "row_count": 1593,
      "row_groups": [
        43,
        43
      ],
      "sha256": "618373458b91205a109dc698ad8c7697fab945124cd1491edd914451166f3b13"
    },
    "price_change": {
      "byte_range": [
        197774370,
        1144461567
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 128071114425678184,
      "min_sequence": 281476715379683,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 93180652,
      "row_groups": [
        44,
        399
      ],
      "sha256": "7efe4353dc4011d0ee3beb4aa2fd9dbc63542873225de787214d303e3cb2248f"
    },
    "tick_size_change": {
      "byte_range": [
        1144461567,
        1144542291
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size",
        "witness_set",
        "arrival_skew",
        "source_witness"
      ],
      "max_sequence": 49821072245325232,
      "min_sequence": 281476718376445,
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "row_count": 2160,
      "row_groups": [
        400,
        400
      ],
      "sha256": "71bc84af4dcfede2d08f3496ed3cb130a3abebd39ffdf4f6e7294abc2dc0aea1"
    }
  },
  "row_count": 103711900,
  "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": "a80af3ee9583773b4fc16d57b17e6cde8c561d1f0ba793e741093eb82f9bd9e1",
  "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."
}
