{
  "hour": "2026-08-27/12",
  "file": "2026-08-27T12.parquet",
  "sha256": "8567b42ce98e60b4966c6529a22ca2052d60d6a0c33dcef446f992272a98d2ea",
  "bytes": 988828634,
  "row_count": 83128678,
  "layout": "union-event-sorted-v1",
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        77644829
      ],
      "sha256": "2a967e1fee58184707b8ed429cef481f8d27c5b79e960a34395d39cc246f3b12",
      "row_count": 6040180,
      "row_groups": [
        0,
        23
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550552354,
      "max_sequence": 119345390248345806
    },
    "book": {
      "byte_range": [
        77644829,
        105407626
      ],
      "sha256": "ef10e0887e87d530c252bde39d89479701e7e1efde4d3dc9f4a10e3b83af64a9",
      "row_count": 313630,
      "row_groups": [
        24,
        25
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550552648,
      "max_sequence": 119345390268901741
    },
    "last_trade_price": {
      "byte_range": [
        105407626,
        109158606
      ],
      "sha256": "001d13afb7258c9c961bc327cdbe0f0bac8e24fd5ca18f7764e5b9c4ff4c58d2",
      "row_count": 67917,
      "row_groups": [
        26,
        26
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "fee_rate_bps",
        "transaction_hash"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550553681,
      "max_sequence": 119345390248860181
    },
    "market_resolved": {
      "byte_range": [
        109158606,
        109287026
      ],
      "sha256": "8a56ed4cbcf5b677dad84ce2a162aecf3c638bd478ae691a9f04b426f2b66246",
      "row_count": 860,
      "row_groups": [
        27,
        27
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome"
      ],
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550918361,
      "max_sequence": 61361545849305355
    },
    "new_market": {
      "byte_range": [
        109287026,
        109409509
      ],
      "sha256": "c0203900358762d91e9ecab57a4c12397f5037eeb7374df3d101c892f499aef4",
      "row_count": 1255,
      "row_groups": [
        28,
        28
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug"
      ],
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550897117,
      "max_sequence": 119345390260864680
    },
    "price_change": {
      "byte_range": [
        109409509,
        987811816
      ],
      "sha256": "467b99044fca543891b4f86438a71382be6d8ecfd796985749c5f0d7bf9b47be",
      "row_count": 76701312,
      "row_groups": [
        29,
        321
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550552177,
      "max_sequence": 119345390269685505
    },
    "tick_size_change": {
      "byte_range": [
        987811816,
        987937717
      ],
      "sha256": "3939c0c38f79a8cb52027ba954ad3fa23d386b5cbfebae74f3e2ed74f78ced31",
      "row_count": 3524,
      "row_groups": [
        322,
        322
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "old_tick_size",
        "new_tick_size"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 281475550805371,
      "max_sequence": 49821071034252745
    }
  },
  "derived_from": {
    "prefix": "merged-live/2026-08-27/12/",
    "products": {
      "best_bid_ask": {
        "sha256": "ccd9716323bcec54138ae033193e582dfc1e5b7d8a32135c27df7b65afd669d8"
      },
      "book": {
        "sha256": "2739b18916449bd17c3888ee404819b54fb50ea6f3cc73ac6fa8a229102b8939"
      },
      "last_trade_price": {
        "sha256": "eea090a20c367e06bad72682fe0135fb06ea8212e86773bbd1f99a3f4783f50d"
      },
      "market_resolved": {
        "sha256": "89fc86acac111ba511f28b6b594b8a96d64d05813fde48e745cd5b753dfbea05"
      },
      "new_market": {
        "sha256": "020a4fcc2aafb7b6d59ee1914a44a1cd6c041404917ae926600e3d3beeffb7d8"
      },
      "price_change": {
        "sha256": "838038a76e073e91e9236333d230d43d83932fd08eb3e8f79a92dcd6fbdb9792"
      },
      "tick_size_change": {
        "sha256": "736ab59a9c504a6c6bb75eb4b36e163f3fb51217bf77433c552d5fd1c580907e"
      }
    },
    "note": "Built by pendulumflow from its own canonical seven-file hour, which is unmodified and remains the source of record. Not upstream data.",
    "source_manifest": {
      "ab_accounting": {
        "best_bid_ask": {
          "boundary_dropped": 119,
          "class": "FULL",
          "exception_markets": 164,
          "rows_a": 6036481,
          "rows_b": 6031323,
          "rows_by_domain": {
            "a": 6036481,
            "b": 6031323,
            "c": 6039642,
            "e": 5909318,
            "h": 6039511
          },
          "rows_c": 6039642,
          "rows_e": 5909318,
          "rows_h": 6039511,
          "rows_joined": 6040299,
          "rows_merged": 6040180
        },
        "book": {
          "boundary_dropped": 38,
          "class": "FULL",
          "exception_markets": 66216,
          "rows_a": 157612,
          "rows_b": 202400,
          "rows_by_domain": {
            "a": 157612,
            "b": 202400,
            "c": 144848,
            "e": 158737,
            "h": 187119
          },
          "rows_c": 144848,
          "rows_e": 158737,
          "rows_h": 187119,
          "rows_joined": 313668,
          "rows_merged": 313630
        },
        "last_trade_price": {
          "boundary_dropped": 1,
          "class": "FULL",
          "exception_markets": 5,
          "rows_a": 67123,
          "rows_b": 65539,
          "rows_by_domain": {
            "a": 67123,
            "b": 65539,
            "c": 67849,
            "e": 52161,
            "h": 67879
          },
          "rows_c": 67849,
          "rows_e": 52161,
          "rows_h": 67879,
          "rows_joined": 67918,
          "rows_merged": 67917
        },
        "market_resolved": {
          "boundary_dropped": 0,
          "class": "FULL",
          "exception_markets": 31,
          "rows_a": 813,
          "rows_b": 813,
          "rows_by_domain": {
            "a": 813,
            "b": 813,
            "c": 813,
            "e": 782,
            "h": 813
          },
          "rows_c": 813,
          "rows_e": 782,
          "rows_h": 813,
          "rows_joined": 860,
          "rows_merged": 860
        },
        "new_market": {
          "boundary_dropped": 0,
          "class": "FULL",
          "exception_markets": 0,
          "rows_a": 809,
          "rows_b": 809,
          "rows_by_domain": {
            "a": 809,
            "b": 809,
            "c": 809,
            "e": 809,
            "h": 809
          },
          "rows_c": 809,
          "rows_e": 809,
          "rows_h": 809,
          "rows_joined": 1255,
          "rows_merged": 1255
        },
        "price_change": {
          "boundary_dropped": 918,
          "class": "FULL",
          "exception_markets": 347,
          "rows_a": 76519134,
          "rows_b": 76318230,
          "rows_by_domain": {
            "a": 76519134,
            "b": 76318230,
            "c": 76658678,
            "e": 73607004,
            "h": 76689062
          },
          "rows_c": 76658678,
          "rows_e": 73607004,
          "rows_h": 76689062,
          "rows_joined": 76702230,
          "rows_merged": 76701312
        },
        "tick_size_change": {
          "boundary_dropped": 0,
          "class": "FULL",
          "exception_markets": 36,
          "rows_a": 3524,
          "rows_b": 3524,
          "rows_by_domain": {
            "a": 3524,
            "b": 3524,
            "c": 3524,
            "e": 3380,
            "h": 3524
          },
          "rows_c": 3524,
          "rows_e": 3380,
          "rows_h": 3524,
          "rows_joined": 3524,
          "rows_merged": 3524
        }
      },
      "archive_root": "merged-live",
      "boundary_guard": "cache",
      "generated_by": "tools/orderbook_ab/merge_ab.py",
      "hour_utc": "2026-08-27T12:00:00+00:00",
      "max_sequence": 119345390269685505,
      "min_sequence": 281475550552177,
      "row_count": 83128678,
      "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)",
      "witnesses": "abche"
    }
  },
  "verification": {
    "primary": "sha256sum <file> == .sha256",
    "secondary": "curl -r <start>-<end-1> <url> | sha256sum == .products.<name>.sha256",
    "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."
  }
}
