{
  "hour": "2026-08-26/05",
  "file": "2026-08-26T05.parquet",
  "sha256": "f0405f0abed7fa3dadc4894fca4ab7601bbcd6bf524acb4782b86a3cf643d6f6",
  "bytes": 7029553,
  "row_count": 212434,
  "layout": "union-event-sorted-v1",
  "products": {
    "best_bid_ask": {
      "byte_range": [
        4,
        289234
      ],
      "sha256": "c4e29b36091c133b5ec999b5bc806c660181d8708254f158e29d6628e010f32f",
      "row_count": 5710,
      "row_groups": [
        0,
        0
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "best_bid",
        "best_ask",
        "spread"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 4785075418077416,
      "max_sequence": 48413696235242429
    },
    "book": {
      "byte_range": [
        289234,
        3799357
      ],
      "sha256": "f011a8f0fc135a2f03e53b0723aff8e62f995f243b81365eb3a4d7c724b538fe",
      "row_count": 36341,
      "row_groups": [
        1,
        1
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "bids",
        "asks"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 4785075418079367,
      "max_sequence": 106397541240676026
    },
    "market_resolved": {
      "byte_range": [
        3799357,
        3922822
      ],
      "sha256": "83f2f7f4e1c45ae488709c48593f3383ba094755ea67f2f0e502ad7a8c8679ae",
      "row_count": 803,
      "row_groups": [
        2,
        2
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "winning_asset_id",
        "winning_outcome"
      ],
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 4785075418082316,
      "max_sequence": 57420895651596118
    },
    "new_market": {
      "byte_range": [
        3922822,
        4005883
      ],
      "sha256": "1726165072e6e1041a9f7ecf4b02aa307296ee9f964ea9abbeafd48b12d3d79f",
      "row_count": 818,
      "row_groups": [
        3,
        3
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "id",
        "assets_ids",
        "outcomes",
        "question",
        "slug"
      ],
      "order_by": [
        "market",
        "id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 4785075418079365,
      "max_sequence": 106397541240668480
    },
    "price_change": {
      "byte_range": [
        4005883,
        7013137
      ],
      "sha256": "af786c826f883ed6659211d91df9dbe3c3504c90287e52479a14197b35148504",
      "row_count": 168762,
      "row_groups": [
        4,
        4
      ],
      "columns": [
        "timestamp_received",
        "sequence",
        "timestamp",
        "market",
        "asset_id",
        "price",
        "size",
        "side",
        "best_bid",
        "best_ask"
      ],
      "order_by": [
        "market",
        "asset_id",
        "timestamp",
        "sequence"
      ],
      "min_sequence": 4785075418077424,
      "max_sequence": 106397541240689726
    }
  },
  "derived_from": {
    "prefix": "merged-live/2026-08-26/05/",
    "products": {
      "best_bid_ask": {
        "sha256": "97d289db27701148d227c5499f6cbc6a1cd55bbaa4e012c88e50e524296fdaeb"
      },
      "book": {
        "sha256": "50582e395caa65bd0c220e13c86140194043429a3d1842b2c5be53b78d0c91f4"
      },
      "last_trade_price": {
        "sha256": "55c6d1f5752ac0b261534ff18a4ba3e71c7ee993472e3a1e385d1559cd83dafa"
      },
      "market_resolved": {
        "sha256": "bff509024c82ff3d8ad1ebb4722ffd703c503a3f0b020b8f865ea8243c7766a3"
      },
      "new_market": {
        "sha256": "51a4657c97254295628a761cd012955b0e2b495774ab2d26d03b4a6e67cc9486"
      },
      "price_change": {
        "sha256": "f096134c9e916b8af53e648102ceed6cf3f21b303a7cbdb72e2f305a61927645"
      },
      "tick_size_change": {
        "sha256": "390de11069abe8e9065da2717284fb7c3835bfb74066443d21f606ec0c34dfd1"
      }
    },
    "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": 0,
          "class": "FULL",
          "rows_a": 5710,
          "rows_b": 5710,
          "rows_by_domain": {
            "a": 5710,
            "b": 5710,
            "c": 5710,
            "h": 3858
          },
          "rows_c": 5710,
          "rows_h": 3858,
          "rows_joined": 5710,
          "rows_merged": 5710
        },
        "book": {
          "boundary_dropped": 64,
          "class": "FULL",
          "rows_a": 8773,
          "rows_b": 8497,
          "rows_by_domain": {
            "a": 8773,
            "b": 8497,
            "c": 14877,
            "h": 7448
          },
          "rows_c": 14877,
          "rows_h": 7448,
          "rows_joined": 36405,
          "rows_merged": 36341
        },
        "last_trade_price": {
          "boundary_dropped": 0,
          "class": "NO-SOURCE",
          "rows_a": 0,
          "rows_b": 0,
          "rows_by_domain": {
            "a": 0,
            "b": 0,
            "c": 0,
            "h": 0
          },
          "rows_c": 0,
          "rows_h": 0,
          "rows_joined": 0,
          "rows_merged": 0
        },
        "market_resolved": {
          "boundary_dropped": 0,
          "class": "PARTIAL",
          "rows_a": 790,
          "rows_b": 790,
          "rows_by_domain": {
            "a": 790,
            "b": 790,
            "c": 790,
            "h": 0
          },
          "rows_c": 790,
          "rows_h": 0,
          "rows_joined": 803,
          "rows_merged": 803
        },
        "new_market": {
          "boundary_dropped": 0,
          "class": "PARTIAL",
          "rows_a": 547,
          "rows_b": 547,
          "rows_by_domain": {
            "a": 547,
            "b": 547,
            "c": 547,
            "h": 0
          },
          "rows_c": 547,
          "rows_h": 0,
          "rows_joined": 818,
          "rows_merged": 818
        },
        "price_change": {
          "boundary_dropped": 0,
          "class": "FULL",
          "rows_a": 80984,
          "rows_b": 83456,
          "rows_by_domain": {
            "a": 80984,
            "b": 83456,
            "c": 96264,
            "h": 82310
          },
          "rows_c": 96264,
          "rows_h": 82310,
          "rows_joined": 168762,
          "rows_merged": 168762
        },
        "tick_size_change": {
          "boundary_dropped": 0,
          "class": "NO-SOURCE",
          "rows_a": 0,
          "rows_b": 0,
          "rows_by_domain": {
            "a": 0,
            "b": 0,
            "c": 0,
            "h": 0
          },
          "rows_c": 0,
          "rows_h": 0,
          "rows_joined": 0,
          "rows_merged": 0
        }
      },
      "archive_root": "merged-live",
      "boundary_guard": "cache",
      "generated_by": "tools/orderbook_ab/merge_ab.py",
      "hour_utc": "2026-08-26T05:00:00+00:00",
      "max_sequence": 106397541240689726,
      "min_sequence": 4785075418077416,
      "row_count": 212434,
      "sequence_note": "sequence and timestamp_received are collector-local provenance; common rows carry domain B's values",
      "witnesses": "abch"
    }
  },
  "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."
  }
}
